我有一个基于对话框的界面。当前上面有一个EDIT,三个Button,想让整个操作过程中都不要焦点(比如,当鼠标按在某个按钮上的时候在EDIT中输入某些数据,但不要焦点在这个button上。当鼠标点击在EDIT中的时候,也不要有一个焦点提示输入。没有明白的大侠可以打开微软拼音输入的软键盘看看,他就是整个操作过程没有焦点的)。请问如何实现?
谢谢大家!
谢谢大家!
解决方案 »
- 如何显示内存中的JPG并转为BMP
- 各位高手看看这段加密狗代码是什么意思?
- 为什么在我的电脑上运行这个windows程序,没有定义UNICODE,窗口处理程序收到的消息参数还是UNICODE的?
- 探讨ODBC的API函数SQLBrowseConnect的使用
- 如何改变CRichEditCtrl控件的指定某一行的背景色
- 请问在VC中可以写代码对ACCESS数据库进行压缩吗?
- 好久没有提问了,问两个问题,先放200分望各位高人指点
- vc开发的程序的标题 总显示“无标题×××”我怎么改变它的名称??
- 如何创建一个任务管理器也无法看到的进程
- VC!搞VC的朋友留个QQ.互相学习学习!!!!!!
- 大家有没有听说过阿里巴巴的客户信息被人强行搜索这样的新闻阿?
- 大专生很难的选择
具体一点啊。
这个控件如何做?
uiOldTime = GetCaretBlinkTime();
....SetCaretBlinkTime(uiNewTime);
在关闭程序时,设置会系统光标速度
SetCaretBlinkTime(uiOldTime);
这样程序替换到别的界面会出问题吗?
响应edit控件的OnChange,最后调用隐藏按钮的SetFocus()
总之,最后都将焦点设置到隐藏按钮上。隐藏按钮不可见。
你可以弄个定时器Timer,判断是否你的dlg为桌面上的顶层窗口,是才设定新的时间间隔
Cxxxdlg::OnTimer(....)
{
if( GetForegroundWindow() == this.m_hWnd)
SetCaretBlinkTime(uiNewTime);
else
SetCaretBlinkTime(uiOldTime); .....
}
这个方法我也试过,点击一个按钮后,然后用隐藏按钮的SetFocus(),这样就要对每个按钮处理。如果按钮多的话就不好处理了吧?
有没有更好的办法?
这样替换到别的程序光标闪烁还是我们设置的,好像又要切换回去了。
TO: lixiaosan(小三)
这样替换到别的程序光标闪烁还是我们设置的,好像又要切换回去了。
===================================你的疑问,我上面已有解答
[代码性质] VC可重用代码段
[代码作者] Bob Ryan
[文件大小] 2K
[更新日期] 2002-3-9 12:06:00
[下载次数] 7740 http://www.vckbase.net/code/listcode.asp?mclsid=3&sclsid=&page=27
其中的自画部分如下: 看作者的注释知道 当if (state & ODS_FOCUS) 的时候 是可以把虚线画出来表示此时拥有焦点,那么你可以不画,不就没了 EDIT窗口你再找找相关的源代码,应该会有些线索,
void CColorButton::DrawItem(LPDRAWITEMSTRUCT lpDIS)
{
//
// Now, depending upon the state, redraw the button (down image) if it is selected,
// place a focus rectangle on it, or redisplay the caption if it is disabled
//
if (state & ODS_FOCUS)
{
DrawFocusRect(lpDIS->hDC, (LPRECT)&focusRect);
if (state & ODS_SELECTED){
DrawFilledRect(pDC, btnRect, GetBGColor());
DrawFrame(pDC, btnRect, -1);
DrawButtonText(pDC, btnRect, buffer, GetFGColor());
DrawFocusRect(lpDIS->hDC, (LPRECT)&focusRect);
}
}
}
}
结贴给完分后提示: 贴子回复次数大于跟给分次数
什么东东啊?
如何才能结贴呢?