打印

win消息中的疑难杂症!!

[复制链接]
1417|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yujun0834|  楼主 | 2008-1-28 13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
win, TE, LPC, pc, RAM
各位同仁: 
    在看wince程序设计一书时,碰到如下问题
这函数是处理WM_CREATE消息的,如下:
LRESULT DoCreateFrame (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {
    HWND hwndCB, hwndClient;
    INT sHeight;
    LPCREATESTRUCT lpcs;

    // Convert lParam into pointer to create structure.
    lpcs = (LPCREATESTRUCT) lParam;

    // Create a command bar.
    hwndCB = CommandBar_Create (hInst, hWnd, IDC_CMDBAR);
    // Add exit button to command bar.
    CommandBar_AddAdornments (hwndCB, 0, 0);
    sHeight = CommandBar_Height (GetDlgItem (hWnd, IDC_CMDBAR));
    //
    // Create client window.  Size it so that it fits under
    // the command bar and fills the remaining client area.
    //
    hwndClient = CreateWindow (CLIENTWINDOW, TEXT (""),
                               WS_VISIBLE | WS_CHILD | WS_VSCROLL,
                               lpcs->x, lpcs->y + sHeight,
                               lpcs->cx, lpcs->cy - sHeight,
                               hWnd, (HMENU)IDC_CLIENT,
                               lpcs->hInstance, NULL);

    // Destroy frame if client window not created.
    if (!IsWindow (hwndClient))
        DestroyWindow (hWnd);
    return 0;
}
其中参数中的 LPARAM lParam 包含了一些什么信息?lpcs = (LPCREATESTRUCT) lParam;

相关帖子

沙发
high| | 2008-1-28 13:55 | 只看该作者

我想你应该搜下上下文

一般消息如果不足够表达信息时候,会使用参数.你得看发消息者使用了什么数据结构.

LPARAM本身没什么特殊的,不过是一个
typedef long LPARAM之类的.
但如果把它当一个数据结构指针时候,信息量就可以很大了.

使用特权

评论回复
板凳
computer00| | 2008-3-2 17:19 | 只看该作者

关键在于LPCREATESTRUCT这个结构体,你要查下MSDN,

看看LPCREATESTRUCT这种类型的结构体都有些啥内容。这里传递进来的是这样一个结构体的指针。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

47

帖子

0

粉丝