写一个read only的编辑框

写一个read only的编辑框

其实之前并不知道VC资源的控件属性提供了read only的属性,

然后是不停的有人问,是否有read only的编辑控件,以利于想编辑框那样的有滚动条,

外形......,就是不能修改,已是做了一个自己的read only的编辑框,但是控件是事先在资源文件中建好的,当然,此段代码也提供了那些想拦截系统的缺省动作,如删除回车处理等的想法......

代码如下:

在对话框的初始化(如WM_INITDIALOG或OnInitDialog())添加:

    /** rewrite the value edit control */
    oldCertDetailValueProc =
        SetWindowLong(GetDlgItem(IDC_SSL_CERT_DETAILS_VALUE)->m_hWnd, GWL_WNDPROC, (long)certDetailValueProc);

写自己的处理函数:
static long oldCertDetailValueProc;
LRESULT CALLBACK certDetailValueProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg) {
        case WM_CHAR:
        case WM_KEYDOWN:
        case WM_SYSKEYDOWN:
            return TRUE;
    }
    return CallWindowProc((WNDPROC)oldCertDetailValueProc, hwnd, uMsg, wParam, lParam);
}


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值