首页
社区
课程
招聘
[旧帖] [求助]新问题求助,急需求助,谢谢 0.00雪花
发表于: 2011-8-23 15:37 1065

[旧帖] [求助]新问题求助,急需求助,谢谢 0.00雪花

2011-8-23 15:37
1065
之前发现combobox不能显示,而且会卡住,我把对话框改成模态对话框就可以了
但是我不知道模态对话框怎么写消息循环了
所以想问问,非模态对话框combobox控件是不是要处理什么消息?
我是在win32 DLL里创建了一个非模态对话框,然后用了Tab Control分了3页

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
        switch (ul_reason_for_call)
        {
        case DLL_PROCESS_ATTACH:
                {
                        g_hInstance = (HINSTANCE)hModule;
                       
                        CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)ShowDlg,NULL,NULL,NULL);
                }
===================================
窗口过程中
hPage[0] = CreateDialogParam(g_hInstance, MAKEINTRESOURCE(IDD_TAB_JIBEN), GetDlgItem(hDlg, IDC_TAB1), JBProc, 0);  
                        hPage[1] = CreateDialogParam(g_hInstance, MAKEINTRESOURCE(IDD_TAB_BAOHU), GetDlgItem(hDlg, IDC_TAB1), BHProc, 0);
                        hPage[2] = CreateDialogParam(g_hInstance, MAKEINTRESOURCE(IDD_TAB_ZHIYE), GetDlgItem(hDlg, IDC_TAB1), ZYProc, 0);
=========================================
BHProc过程中
case WM_INITDIALOG:
                {
                       
SendDlgItemMessage(hDlg,IDC_COMBO_BYHM1,CB_ADDSTRING,0,(LPARAM)TEXT("111"));
SendDlgItemMessage(hDlg,IDC_COMBO_BYHM1,CB_ADDSTRING,0,(LPARAM)TEXT("222"));
SendDlgItemMessage(hDlg,IDC_COMBO_BYHM1,CB_ADDSTRING,0,(LPARAM)TEXT("333"));
==========================================
这样的话combobox就不显示添加的项,而且按下拉时会卡住

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你的下拉列表框显示不出来是因为你的下拉列表框的高度不够!
你可以用记事本打开XXX.rc(XXXX代表你的程序),找到
COMBOBOX IDC_CONSTTIME,144,88,35,50     CBS_DROPDOWNLIST|WS_VSCROLL
这里的50就代表你的下拉列表框的高度,默认情况下是12,你改大点就可以显示了!
2011-8-23 16:25
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
高度肯定够,我把对话框改为模态对话框就完全没问题了,但一定要用非模态呢
2011-8-23 16:30
0
游客
登录 | 注册 方可回帖
返回
//