在SDK中使用Rich Edit控件,以及使用LISTVIEW,PROGRESS等控件

  在SDK,进行windows程序设计(不使用mfc),使用这些控件,要进行一些必要的初试化,否则如果在对话框上画这些控件,对话框就不能正常显示

 先说Rich Edit控件,这个是个特例。

  如果往对话框里添加了一个Rich Edit控件,然后运行程序.理应弹出对话框,但是没有弹出.
如果把Rich Edit 控件去掉,再运行.对话框就可以弹出。

  如果在mfc下进行开发,那么只要程序启动的时候添加AfxInitRichEdit()这个函数,但是我们说了,现在不使用mfc,那怎么办呢!还好,我们还有msdn,在上面查了查,找到如下解决方法~~

  在响应主窗口的WM_CREATE消息

  在窗口函数中这样写


 static HINSTANCE m_hLibRichEdit;

switch (message)
{

case WM_CREATE:
{
      m_hLibRichEdit = LoadLibrary(_T("RICHED32.DLL"));
                       然后创建你的控件
     break;
}

                 case WM_DESTROY:
                FreeLibrary(m_hLibRichEdit);
                           break;

                   …………………………


或者在程序启动的时候就 在winmain中
就调用这个m_hLibRichEdit = LoadLibrary(_T("RICHED32.DLL"));
然后记得一定要在程序退出的时候调用
FreeLibrary(m_hLibRichEdit);
可以用一个全局的HINSTANCE 来保存这个m_hLibRichEdit

ok,解决了,开心ing……………………

我们说了,Rich Edit是个特例,其他的控件没有那么麻烦,但是…………

 但是来了,在sdk编程时,用dialogbox显示的对话框上,只能有按钮、单选、复选等控件,加上如progress就显示不出来了。那在sdk下,类似于progress的控件要如何使用呢?

 INITCOMMONCONTROLSEX   initCtrls;
 initCtrls.cbSize   =   sizeof(INITCOMMONCONTROLSEX);
 initCtrls.dwICC     =   ICC_PROGRESS_CLASS;
 InitCommonControlsEx(&initCtrls);

 以前有个InitCommonControls的函数,现在已经逐步被这个InitCommonControlsEx取代了

  我们来看看INITCOMMONCONTROLSEX   这个结构,有两个成员

  DWORD dwSize;
  DWORD dwICC;
  

  第一个是大小,没什么好说的

  第二个是指定了哪一种 common control ,查了一下msdn,支持如下控件类型

   

ValueDescription
ICC_BAR_CLASSESLoads toolbar, status bar, trackbar and command bar classes.
ICC_COOL_CLASSESLoads rebar control class.
ICC_DATE_CLASSESLoads date and time-picker control class.
ICC_LISTVIEW_CLASSESLoads list view and header control classes.
ICC_PROGRESS_CLASSLoads progress bar control class.
ICC_TAB_CLASSESLoads tab control classes.
ICC_TREEVIEW_CLASSESLoads tree view control classes.
ICC_UPDOWN_CLASSLoads Up-Down control class.

ok,知道怎么做了吧

问题解决了,真的高兴了,可以睡觉了~~~


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值