zoukankan      html  css  js  c++  java
  • VC技巧记录

    写VC程序时,总是要查很多用法,甚至以前用过的也忘记怎么用了,还要再查一遍.所以从今天起在这里把每次用到的技巧都记下来.

    1. 设置键盘精灵时学到的技巧

    键盘精灵使用模态对话框,在DoModal之前把第一个字符赋给编辑框.

    在键盘精灵中添加OnInitDialog函数,方法是在类向导的虚函数中找到它添加.

    在OnInitDialog函数中写UpdateData(FALSE);将第一个字符给编辑框.

    选中编辑框,在属性对话框中的闪电符号(控件事件)中找到EN_CHANGE点右边添加OnEnChangeEdit1函数,在该函数中写入((CEdit*)GetDlgItem(IDC_EDIT1))->SetSel(-1);来取消第一个字符被选中的状态.

    再找到EN_SETFOCUS,添加OnEnSetfocusEdit1函数.此函数执行当编辑框内容更新的时候的处理.

    先添加UpdateData(TRUE); //更新编辑框数据

    再添加while (m_list.DeleteItem(0)); //删除列表中所有数据

    再添加

    //将符合的股票代码插入列表
    int count = 0;
    for (int i = 0; i < pTotal->number; i++)
    {
        if (CString(pTotal->stocks[i].code).Find(m_name) != -1)
        m_list.InsertItem(count++, CString(pTotal->stocks[i].code));
    }

    再添加

    if (m_list.GetItemCount()) //选中第0个
        m_list.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);

    这里的参数不能是LVIS_SELECTED,否则按上下键,还是会先选中第0行.

    选中listControl,在属性对话框的属性中作如下修改:Always Show Selection设为true,这样即使listControl失去焦点,也能被选中;View设为Report,否则内容将显示不全,这个很重要;No Column Header设为true,隐藏列标题.

    键盘精灵中再添加PreTranslateMessage虚函数,拦截上下键和回车键.

    VK_UP的响应为 GetDlgItem(IDC_LIST2)->SendMessage(WM_KEYDOWN, pMsg->wParam, pMsg->lParam);

    VK_RETURN的响应为

    pos = m_list.GetNextItem(-1, LVNI_SELECTED); //获取选中的行号
    if (pos == -1) //没有选中
        m_name = "";
    else
        m_name = m_list.GetItemText(pos, 0);
    UpdateData(FALSE); //将m_name中的值更新到编辑框

    查看别的窗口资源:

    在VC中点菜单open,在open as中选Resources,打开要查看的exe程序即可.

  • 相关阅读:
    HTML中设置在浏览器中固定位置fixed定位
    [简短问答]C-Lodop中一些测试用的地址
    LODOP打印超文本字符串拼接2 单选选择css样式表格
    HTML布局排版之制作个人网站的文章列表
    LODOP打印超文本字符串拼接1 固定表格填充数值
    HTML用table布局排版 padding清零
    [简短问答]LODOP套打问题及相关
    [简短问答]LODOP打印不清晰
    Unity3D深入浅出 -组件与节点之间的调用关系
    Unity3D深入浅出 -创造 物理材质(Physics Materials)
  • 原文地址:https://www.cnblogs.com/saieuler/p/3511209.html
Copyright © 2011-2022 走看看