2855|0

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急问用DialogBoxParam()打开窗口,但是如何得到窗口中的控件的句柄呢 [复制链接]

用这个函数自己打开我自己定制的窗口 ,但是我想得到窗口中的控件的句柄,但是我怎么也得不到

函数很简单:
int WINAPI WinMain(HINSTANCE hInstance,
                  HINSTANCE hPrevInstance,
                  LPTSTR    lpCmdLine,
                  int      nCmdShow)
{
MSG msg;
InitCommonControls();

DialogBoxParam(hInstance, (LPCWSTR )IDD_About, NULL, WndProc, NULL);

// Run the message pump
while( GetMessage( &msg, NULL, 0, 0 ))
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}


return (int) msg.wParam;
}


// Message handler for about box.
INT_PTR CALLBACK WndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

HWND bri_slider=NULL;
HWND zom_slider=NULL;
///看下面的得到控件的操作 这里得到的bri_slider 就是等于NULL
//如果改成bri_slider=GetDlgItem(hDlg,IDC_BRIGHTNESS_SLIDER)结果还是一样
//我用GetWindlong得到hdlg的ID并不等于IDD_About, 而bri_slider的控件就是在IDD_About的窗口中
// 我如何才能得到 IDC_BRIGHTNESS_SLIDER的控制的句柄呢? 谢谢
      bri_slider=GetDlgItem(GetDlgItem(hDlg,IDD_About),IDC_BRIGHTNESS_SLIDER);
    //改成bri_slider=GetDlgItem(hDlg,IDC_BRIGHTNESS_SLIDER)结果还是一样
   if(bri_slider== NULL)
      RETAILMSG(1,(L"bright slider is error\n"));
  else
     RETAILMSG(1,(L"bright slider is OK \n"));

    switch (message)
    {
        case WM_INITDIALOG:
RETAILMSG(1,(L"-WM_INITDIALOG \n"));
      
            int DlgWidth, DlgHeight; // dialog width and height in pixel units
//    SHFullScreen(m_hWndViewfinder, SHFS_HIDETASKBAR ? SHFS_HIDESIPBUTTON ?  SHFS_HIDESTARTICON);

DlgHeight=GetSystemMetrics(SM_CXSCREEN);
DlgWidth=GetSystemMetrics(SM_CYSCREEN);

MoveWindow(hDlg, 0, 0, DlgHeight, DlgWidth, TRUE);
            return (INT_PTR)TRUE;

        case WM_COMMAND:
RETAILMSG(1,(L"-WM_COMMAND \n"));
            if ( LOWORD(wParam) == IDC_Close)
            {
                EndDialog(hDlg, LOWORD(wParam));
PostQuitMessage(0);
                return TRUE;
            }
            break;

        case WM_CLOSE:
RETAILMSG(1,(L"-WM_CLOSE \n"));
            EndDialog(hDlg, message);
PostQuitMessage(0);
            return TRUE;

    }
    return (INT_PTR)FALSE;
}

我如何才能得到 IDC_BRIGHTNESS_SLIDER的控制的句柄呢? 谢谢
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表