我的对话框上有一个输入和一个显示框,如何实现我在输入框里输入信息后显示矿实时把我输入的信息显示出来

我的对话框上有一个输入和一个显示框,如何实现我在输入框里输入信息后显示矿实时把我输入的信息显示出来,第1张

是VC中吗?

可以这样实现:

响应编辑框的EN_CHANGE消息,实时获取编辑框内容,然后根据这个内容来查找包含这个字符串的其他字符串,把所有其他字符串显示到你要显示的框就行了。

这是一个例子:

void CTestThdDlg::OnEnChangeEdit1()

{

UpdateData(TRUE);

AfxMessageBox(m_edit1);//实时获取编辑框信息并显示

你当然可以在这里做其他的事情呀

比如根据m_edit1值来查找包含他的其他字符串

然后把这些字符串显示到另外的框里面去

}

模拟按键 sendkey函数

试过获取句柄,但是微信网页版是依托于QQ浏览器的,应该是属于网页结构的,没有办法找到句柄。

这也不是真正的IE浏览器附带的功能,也没法用webbrowser控件来做,

尝试过GetForegroundWindow来获取到QQ浏览器的句柄,找到子窗口句柄,也找到了微信子窗口句柄

据说有个方法是这样:

用GetForegroundWindow得到前台窗口

用GetWindowThreadProcessId得到线程ID

用AttachThreadInput共享线程输入

用GetFocus得到焦点窗口

只听说这种网页结构是无法获取输入焦点的句柄的

PreTranslateMessage

重写对话框的PreTranslateMessage函数,在里面判断是否俺了

回车键

,如果是的话再判断焦点是不是在编辑框里面,可以用GetFocus

这个函数判断焦点是否在那个编辑框里面

BOOL

CTestDlg::PreTranslateMessage(MSG

pMsg)

{

if

(

WM_KEYDOWN

==

pMsg->

message

&&

13

==

pMsg->

wParam)

{

if

(

GetDlgItem

(IDC_EDIT1)

==

GetFocus())

{

CString

str;

GetDlgItem(IDC_EDIT1)->

GetWindowText

(str);

MessageBox

(str);

return

FALSE;

}

else

{

return

FALSE;

}

}

return

CDialog::PreTranslateMessage(pMsg);

}

不用找了,这才是正解。你的需求其实是,需要一个阻塞式对话框,安卓本身所有d窗都是非阻塞的。

import androidappActivity;

import androidappAlertDialog;

import androidcontentDialogInterface;

import androidosHandler;

import androidosLooper;

import androidosMessage;

import androidwidgetEditText;

/

动态获取用户输入后在继续后面的流程

这是一个模态阻塞对话框(阻塞主线程,结果不用回调来处理)

/

public class BlockingInputDialog {

String mInputString = "";

Activity mContext;

String mTitle;

EditText mEditText;

Handler mHandler;

public BlockingInputDialog(Activity context, String title){

mContext = context;

mTitle = title;

}

public String showDialog(){

mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

//superhandleMessage(msg);

throw new RuntimeException();

}

};

AlertDialogBuilder builder = new AlertDialogBuilder(mContext);

buildersetTitle(mTitle);

buildersetCancelable(false);

mEditText = new EditText(mContext);

buildersetView(mEditText);

buildersetPositiveButton("确定", new DialogInterfaceOnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

mInputString = mEditTextgetText()toString();

Message message = mHandlerobtainMessage();

mHandlersendMessage(message);

}

});

buildersetNegativeButton("取消", null);

buildercreate()show();

try {

LoopergetMainLooper()loop();

}

catch(RuntimeException e2)

{

}

return mInputString;

}

}

以上就是关于我的对话框上有一个输入和一个显示框,如何实现我在输入框里输入信息后显示矿实时把我输入的信息显示出来全部的内容,包括:我的对话框上有一个输入和一个显示框,如何实现我在输入框里输入信息后显示矿实时把我输入的信息显示出来、vb如何获取微信网页版收到的聊天消息、MFC编辑框:回车得到输入的数据.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9623486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存