小技巧集合

???????????发消息???????????????

第一步:定义

#define WM_APP_SHOW_TEXT (WM_USER + 0)


第二部:发消息
        WM_MESSAGE          Msg;
  
        Msg.MsgId   = WM_APP_SHOW_TEXT;
        Msg.hWinSrc = pMsg->hWin;
        WM_SendMessage(WM_HBKWIN, &Msg);


第三部:收消息
case WM_APP_SHOW_TEXT:
    if (hEdit == 0) {
      hEdit = pMsg->hWinSrc;
    }
    WM_HideWindow(hEdit);
    ShowText = 1;
    WM_InvalidateWindow(WM_HBKWIN);
    WM_CreateTimer(WM_HBKWIN, 0, 3000, 0);
    break;



为什么case么有收到呢?




第一种:

int qqq=0;//-------------测试
static void _cbDialog(WM_MESSAGE * pMsg) 
{
  
  static WM_MESSAGE  Msg;
 
  switch (pMsg->MsgId) {


   case WM_PAINT:
    break;


   case WM_APP_SHOW_TEXT://这里收到消息呀!!
    qqq=!qqq;//-------------测试
    break;
	
   case WM_INIT_DIALOG: 
    break;
	
   case WM_NOTIFY_PARENT:
		Id    = WM_GetId(pMsg->hWinSrc);
		NCode = pMsg->Data.v;
		switch(Id) {
		case ID_BUTTON_0: //确认
		  switch(NCode) {
		  case WM_NOTIFICATION_CLICKED:
			break;
		  case WM_NOTIFICATION_RELEASED:
			WM_SendMessageNoPara(WM_GetClientWindow(hPage[2]),WM_APP_SHOW_TEXT);//--发送出去 触发一下
			break;
		  }
		  break;	



第二种和上面一样的!需要注意的是和定时器一样,官方历程存在问题 WM_SendMessage(WM_HBKWIN, &Msg);这个会失败
        Msg.MsgId   = WM_APP_SHOW_TEXT;
        Msg.hWinSrc = pMsg->hWin;
       // WM_SendMessage(hPage[2], &Msg); 大笑
        WM_SendMessage(WM_GetClientWindow(hPage[2]), &Msg);
如此就可以发消息了。





???????????????int转文本???????????????????????
我的办法:
sprintf(strbuf,"%d",200);
TEXT_SetText(hItem, strbuf);
参考历程:
TEXT_SetText(hItem, "10000");


sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。如:
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"







?????????????下拉菜单读取??????????????????????????
case WM_NOTIFICATION_SEL_CHANGED:
hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_1);
Cardfre = DROPDOWN_GetSelExp(hItem);  //DROPDOWN_GetUserData(hItem);0-1-2-3-4 这样的


这样获得下拉的ID的 不是直接拿到内容的。
我们就建立一个结构体吧!!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值