| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 855 人关注过本帖
标题:CheckRadioButton怎么木有用啊
只看楼主 加入收藏
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
结帖率:77.78%
收藏
已结贴  问题点数:30 回复次数:4 
CheckRadioButton怎么木有用啊
程序代码:
#include <windows.h>
#include "resource.h"
#include "CDlg.h"
LRESULT CALLBACK WndProc(
                         HWND hwnd,      // handle to window
                         UINT uMsg,      // message identifier
                         WPARAM wParam,  // first message parameter
                         LPARAM lParam   // second message parameter
);
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
    TCHAR szClsName[]=TEXT("ClassName");
    CDLG dlg;
    WNDCLASS wndcls;
    wndcls.cbClsExtra=NULL;
    wndcls.cbWndExtra=DLGWINDOWEXTRA;
    wndcls.hbrBackground=(HBRUSH)COLOR_WINDOW;
    wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
    wndcls.hIcon=LoadIcon(NULL,IDI_APPLICATION);
    wndcls.hInstance=hInstance;
    wndcls.lpfnWndProc=WndProc;
    wndcls.lpszClassName=szClsName;
    wndcls.lpszMenuName=NULL;
    wndcls.style=CS_HREDRAW|CS_VREDRAW;
    dlg.RegisterClass(&wndcls);
    dlg.BuildWindow(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,NULL);
    dlg.ShowWindow(nShowCmd);
    return dlg.Run();
}
LRESULT CALLBACK WndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
    switch(uMsg)
    {
    case WM_CREATE:
        CheckRadioButton(hwnd,IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);  //CheckRadioButton
        return 0;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
注:CDlg是我自己封装的类,为何 我在WM_CREATE消息中加了CheckRadioButton(hwnd,IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);  但是RADIO1木有被选中的标记呀?
为方便大家分析错误
我把工程 文件发上来
对话框.zip (1.91 MB)
2012-12-12 21:16
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
本人在寄宿学校,学校里没网上, 等回家后 有答案的 绝对结账
2012-12-12 21:28
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:15 
LRESULT CALLBACK WndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
    static BOOL bInit = FALSE;

    switch(uMsg)
    {
    case WM_CREATE:
        break;
    case WM_PAINT: // 在Paint中处理咯,用静态变量作为初始化的标志就行,这样就行了。Create 估计是窗口没有初始化完成吧
        if (!bInit) {
            CheckRadioButton(hwnd,IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);  //CheckRadioButton
            bInit = TRUE;
        }
        break;

    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hwnd,uMsg,wParam,lParam);
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-12 21:52
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:15 
估计窗口还没有完成的时候,你就设置空间check状态,导致不成功吧。
在Paint中处理,窗口一定是已经初始化完毕了的

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-12-12 21:53
々NARUTO
Rank: 2
等 级:论坛游民
帖 子:80
专家分:85
注 册:2011-6-19
收藏
得分:0 
回复 4楼 yuccn
版主  真是热心啊 !
2012-12-14 13:58
快速回复:CheckRadioButton怎么木有用啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026226 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved