社区
界面
帖子详情
怎么指定输入法窗口出现的位置
andyzhshg
2009-12-14 04:10:56
请问怎么指定输入法在我的程序里出现的位置?
我的一个程序要有插入文字的功能,但是当输入中文时输入法总是出现在一个固定的位置,请问怎么才能让输入法窗口出现在我的插入光标的位置呢
...全文
342
2
打赏
收藏
怎么指定输入法窗口出现的位置
请问怎么指定输入法在我的程序里出现的位置? 我的一个程序要有插入文字的功能,但是当输入中文时输入法总是出现在一个固定的位置,请问怎么才能让输入法窗口出现在我的插入光标的位置呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MoXiaoRab
2009-12-14
打赏
举报
回复
LS的真快
vivvan
2009-12-14
打赏
举报
回复
用DX自绘Edit控件往往没有真是的EDIT窗口存在,所以输入法窗口无法跟随,这里给出一个解决方案
计算当前光标的位置
用API ImmSetCompositionWindow指定IME 窗口到当前光标位置
在WM_KEYDOWN消息中处理
以下是代码:
------------------------------------------------------------------------------------------------
int nSelStart = 0, nSelEnd = 0;
this->GetSel( nSelStart, nSelEnd );
CPoint pntCursor = this->PosFromChar( nSelEnd );
if ( pntCursor.x == -1)
{
nSelEnd -=1;
if ( nSelEnd < 0 )
{
nSelEnd = 0;
}
pntCursor = this->PosFromChar( nSelEnd );
}
HIMC hImc = ImmGetContext(m_hWnd);
COMPOSITIONFORM form;
form.dwStyle = CFS_RECT;
form.ptCurrentPos = CPoint(pntCursor.x,0);
form.rcArea = CRect(pntCursor.x,0,pntCursor.x+300,100);
ImmSetCompositionWindow(hImc,&form);
C# 写的模拟键盘,可设置
输入法
,可输入中文,不抢占焦点。
C# 写的模拟键盘的动态库,利用了keybd_event函数。可以设置
输入法
。
对
输入法
窗口
(Input Method Window)的管理分析
也就是说,一旦WindowManagerService服务检测到焦点
窗口
需要使用
输入法
,那么它就会调整
输入法
窗口
在
窗口
堆栈中的
位置
,使得
输入法
窗口
位于在焦点
窗口
的上面,这样用户可以通过
输入法
窗口
来录入字母或者文字。...
Android
窗口
管理服务WindowManagerService对
输入法
窗口
(Input Method Window)的管理分析
也就是说,一旦WindowManagerService服务检测到焦点
窗口
需要使用
输入法
,那么它就会调整
输入法
窗口
在
窗口
堆栈中的
位置
,使得
输入法
窗口
位于在焦点
窗口
的上面,这样用户可以通过
输入法
窗口
来录入字母或者文字。...
Android对
输入法
窗口
的管理分析
Android
窗口
管理服务WindowManagerService对
输入法
窗口
(Input Method Window)的管理分析 链接:http://blog.csdn.net/luoshengyang/article/details/8526644 在Android系统中,
输入法
窗口
是一种特殊...
自定义
输入法
窗口
位置
在项目开发中,可能需要根据需要控制
输入法
窗口
的
位置
,可以采用下面方法 if (uMsg == WM_IME_COMPOSITION) { // 解决微软
输入法
位置
异常的问题 HIMC hIMC = ImmGetContext(m_hWnd); if (hIMC) { //...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章