解决方案 »
- TEXTBOX控件怎么向其中添加数据,然后把其中内容发送到默认打印机?
- 连接sql数据库问题
- 一个简单的问题,成功就马上给分,VB中的ADO如何调用存贮过程的返回值的Recordset.提供完整代码。
- 关于菜单字体设置
- sql语句问题
- 做报表到底用什么工具好?华表?水晶报表?还是spread?
- 用ADO连接有密码保护的mdb(ACCESS200)库?
- 急!!请问如何向一个已知句柄的文本输入框发送一个需要按回车的消息。
- 有谁知道函数IsFormatSupported是如何声明的,所在的库文件是什么。
- 用VB怎么查自己的IP地址?
- 那位位高手请告诉我c/s,b/s结构定义、特点及应用,以及相互的优缺点,一定给分,先谢过了
- 今天有谁比我更倒霉,我就把分送给谁.
Who knows???
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Form_Load()
SetWindowLong Me.hwnd, GWL_EXSTYLE, CLng(&H8000000)
End Sub
输入法状态栏是Region, 是由Rgn相关函当选操作出来的。
输入法的文字显示窗口则是windows 窗口类中的IME以下代码演示用VB创建IME窗口module:Option ExplicitPublic Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End TypeForm1:Option ExplicitPrivate Declare Function CreateWindowEx Lib "user32" _
Alias "CreateWindowExA" (ByVal dwExStyle As Long, _
ByVal lpClassName As String, _
ByVal lpWindowName As String, _
ByVal dwStyle As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hWndParent As Long, _
ByVal hMenu As Long, _
ByVal hInstance As Long, _
lpParam As Any) As Long
Private Const WM_CREATE = &H1Private Const WS_EX_TOPMOST = &H8&Private Const WS_EX_LEFT = &H0Private Const WS_EX_LTRREADING = &H0
Private Const WS_EX_RIGHTSCOLLBAR = &H0Private Const WS_BORDER = &H800000Private Const WS_POPUP = &H80000000
Private Const WS_DISABLED = &H8000000
Private Const WS_CLIPSIBLINGS = &H4000000
Private Const WS_OVERLAPPED = &H0&
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As LongPrivate Const SW_NORMAL = 1
Private Const SW_PARENTOPENING = 3
Private Const SW_SHOW = 5Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As LongPrivate Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As LongPrivate Declare Function FrameRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal HBRUSH As Long) As LongPrivate Declare Function FillRgn Lib "gdi32" (ByVal hdc As Long, ByVal HRGN As Long, ByVal HBRUSH As Long) As LongPrivate Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Dim HwndNew As LongPrivate Sub Form_Load()
Dim LREC As RECT
Dim Hrect As Long
Dim Hwdc As Long
Dim WCOLOR As Long
Dim HBRUSH As Long
Dim HRGN As Long
HwndNew = CreateWindowEx(WS_EX_TOPMOST, "IME", "New", WS_POPUP Or WS_DISABLED Or WS_CLIPSIBLINGS Or WS_OVERLAPPED, _
0, 0, 200, 200, Me.hwnd, 0, 0, WM_CREATE)
Debug.Print HwndNew
ShowWindow HwndNew, SW_NORMAL
Hrect = GetClientRect(HwndNew, LREC)
Hwdc = GetDC(HwndNew)
WCOLOR = RGB(255, 255, 255)
HRGN = CreateRectRgn(LREC.Left, LREC.Top, LREC.Right, LREC.Bottom)
HBRUSH = CreateSolidBrush(WCOLOR)
FillRgn Hwdc, HRGN, HBRUSH
End SubPrivate Sub Form_Unload(Cancel As Integer)
DestroyWindow HwndNew
End Sub
{
public partial class Form1 : Form
{
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= (int)0x08000000L;
return cp;
}
}
public Form2()
{
InitializeComponent();
}
}
}