登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [sdk/windows/ppc]edit 的颜色和 DWL_MSGRESULT     [回主站]     [分站链接]
标题
[sdk/windows/ppc]edit 的颜色和 DWL_MSGRESULT
clq
浏览(0) + 2008-04-24 18:29:04 发表 编辑

关键字:

[sdk/windows/ppc]edit 的颜色和 DWL_MSGRESULT

ppc 下设置 edit 的颜色,还不太成功。真机上是不行的。

case WM_CTLCOLOREDIT:
if( lParam == (LPARAM)::GetDlgItem( hwndDlg,IDC_EDIT_TEXT) )
{
HDC hdc = (HDC )wParam ;
RECT rect;
// GetClientRect(hwndDlg, &rect);

// ::SetBkColor( hdc,BLACK_PEN);
// HBRUSH brush = CreateSolidBrush(BKCOLOR );
// FillRect(hdc,&rect,m_pThis->brush);
// DeleteObject(brush);
//::SetTextColor( hdc,RGB(255,0,0));
SetBkMode( hdc, TRANSPARENT );
SetBkColor( hdc,BKCOLOR);
SetWindowLong (hwndDlg, DWL_MSGRESULT, (long)m_pThis->brush);

//return ( INT_PTR )BLACK_PEN;

//return ( INT_PTR )GetStockObject(NULL_BRUSH);
return TRUE;
}

break;

在 windows 下直接这样就行了的。

//更改 memo 的颜色
if (hwnd == dlg->m_memo_panel.handle)
{
if (message == WM_CTLCOLOREDIT)
{
//WM_CTLCOLOREDIT
HDC hdc = (HDC) wParam; // handle of display context
HANDLE handle = (HWND) lParam; // handle of static control

//有文字部分的背景颜色
SetBkColor(hdc, RGB(255, 0, 0));//注意 hdc 是从消息中的参数得到的,不能用 GetDC() 从窗口句柄中得到,这样做的原因可能是它内部用双缓冲实现,是先到内存图的,不管怎样不是直接用窗口的画布
SetTextColor(hdc, RGB(255, 255, 0));//字体颜色

//SetPen(BLACK_PEN);

//SetBkMode(GetDC(hwnd), TRANSPARENT);

//没有文字部分的背景颜色
HBRUSH hbr = (HBRUSH)GetStockObject(BLACK_BRUSH);

(* pHook) = true;
return (LRESULT)hbr;
//return 1;
}

clq
2008-4-24 18:43:27 发表 编辑

发表时间:2005-7-19 14:32:00 [回复] [引用]
5 楼
问题终于搞定,修改的代码如下:

case WM_NOTIFY:
lpnmh = (LPNMHDR)lParam;
switch(lpnmh->code)
{
case UDN_DELTAPOS:
lpnmud = (LPNMUPDOWN)lParam;
if(lpnmud->iPos+lpnmud->iDelta>= 20 )//不能改为lpnmud->iPos
{
SetWindowLong(hwnd,DWL_MSGRESULT,TRUE);//必须加这句
return TRUE;
}
else
{
return FALSE;
}
}
break;

经过这次我明白了在对话框中返回TRUE或FALSE只代表是否用户处理该消息,并不代表消息的返回值,对于有返回值的消息,要用函数SetWindowLong(hwnd,DWL_MSGRESULT,value);a其中value用来设置消息返回值。


总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1