winform模拟qq聊天界面的小功能textbox1输入自动跳到textbox2
2011-02-03 16:37
495 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication28
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
const int WM_CHAR = 0x0102;
const int WM_USER = 0x0400;
const int WM_USER1 = WM_USER + 1;
switch (m.Msg)
{
case WM_USER1:
textBox1.Focus();
IntPtr hwnd = textBox1.Handle;
WinAPI.SendMessage(hwnd, WM_CHAR, (int)m.WParam, 0);
break;
}
base.WndProc(ref m);
}
}
class MyTextBox : TextBox
{
protected override void WndProc(ref Message m)
{
const int WM_CHAR = 0x0102;
const int WM_PAINT = 0x000F;
const int WM_USER = 0x0400;
const int WM_KEYDOWN= 0x0100;
const int WM_IME_CHAR = 0x0286;
const int WM_IME_COMPOSITION = 0x010F;
switch (m.Msg)
{
case WM_CHAR:
{
int key = (int)m.WParam;
IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
WinAPI.SendMessage(hwnd, WM_USER + 1, (int)m.WParam, 0);
}
return;
//case WM_IME_CHAR:
// MessageBox.Show("a");
// break;
//case WM_KEYDOWN:
// {
// IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
// int code = (int)m.WParam;
// WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
// }
// return;
case WM_IME_COMPOSITION:
{
IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
int code = (int)m.WParam;
WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
}
return;
//case WM_PAINT:
// //MessageBox.Show("aa");
// break;
}
base.WndProc(ref m);
}
}
}
记录下,备忘~
就是要把上面那个textbox的WndProc重写下,然后消息拦截下就ok了。。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication28
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
const int WM_CHAR = 0x0102;
const int WM_USER = 0x0400;
const int WM_USER1 = WM_USER + 1;
switch (m.Msg)
{
case WM_USER1:
textBox1.Focus();
IntPtr hwnd = textBox1.Handle;
WinAPI.SendMessage(hwnd, WM_CHAR, (int)m.WParam, 0);
break;
}
base.WndProc(ref m);
}
}
class MyTextBox : TextBox
{
protected override void WndProc(ref Message m)
{
const int WM_CHAR = 0x0102;
const int WM_PAINT = 0x000F;
const int WM_USER = 0x0400;
const int WM_KEYDOWN= 0x0100;
const int WM_IME_CHAR = 0x0286;
const int WM_IME_COMPOSITION = 0x010F;
switch (m.Msg)
{
case WM_CHAR:
{
int key = (int)m.WParam;
IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
WinAPI.SendMessage(hwnd, WM_USER + 1, (int)m.WParam, 0);
}
return;
//case WM_IME_CHAR:
// MessageBox.Show("a");
// break;
//case WM_KEYDOWN:
// {
// IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
// int code = (int)m.WParam;
// WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
// }
// return;
case WM_IME_COMPOSITION:
{
IntPtr hwnd = WinAPI.FindWindow("WindowsForms10.Window.8.app.0.2bf8098_r13_ad1", null);
int code = (int)m.WParam;
WinAPI.SendMessage(hwnd, WM_USER + 1, code, 0);
}
return;
//case WM_PAINT:
// //MessageBox.Show("aa");
// break;
}
base.WndProc(ref m);
}
}
}
记录下,备忘~
就是要把上面那个textbox的WndProc重写下,然后消息拦截下就ok了。。
相关文章推荐
- winform模拟qq聊天界面的小功能textbox1输入自动跳到textbox2
- 关于 android app 返回键模拟 home键 功能的介绍_仿QQ返回键 又重新回到当前界面_锁屏状态 又要重新唤醒
- IOS开发-UIDynamic(物理仿真)模拟QQ聊天界面的特效图片动画
- JAVA仿QQ聊天系统4.0(扩展韩顺平的程序的功能及界面)附源码
- 实现textbox对输入内容的自动检索功能,效果相当于百度首页的文本输入框
- WinForm TextBox 实现自动索引功能
- WinForm TextBox 实现自动索引功能
- Android开发系列(十六) QQ聊天界面完整版——整合气泡、表情、历史表情等功能
- WinForm触摸屏程序功能界面长时间不操作自动关闭回到主界面
- 【Java】仿真qq尝试:聊天界面 && 响应用户输入
- iOS微信QQ聊天界面的UI框架以及Socket简单实现群聊功能
- Flex中如何实现类似像QQ登录框中那种“记住密码”、“自动登录”功能,还有如何实现文本框中记录最后一次输入的值?
- java网络编程一:模拟qq聊天功能,实现一对一聊天
- 网络聊天系统的开发(QQ功能模拟)
- 多线程通信之模拟QQ聊天功能
- Python模拟百度自动输入搜索功能
- bluestacks手机模拟器安装qq或微信时,鼠标左键点聊天编辑框后会自动输入 c 字母
- 用Flex模拟智能手机表单输入的自动放大功能
- C# winform 模拟键盘输入自动接入访问网络的实例
- java swing高仿qq聊天,功能,界面都非常相像