普通的方法是ucase、或者是分析keypress或者是Change()事件,
但是较为好的方法是:Option ExplicitPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const ES_UPPERCASE = &H8&
Private Sub Form_Load()
Dim style As Long style = GetWindowLong(Text1.hwnd, GWL_STYLE)
style = style Or ES_UPPERCASE
SetWindowLong Text1.hwnd, GWL_STYLE, style
End Sub
但是较为好的方法是:Option ExplicitPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const ES_UPPERCASE = &H8&
Private Sub Form_Load()
Dim style As Long style = GetWindowLong(Text1.hwnd, GWL_STYLE)
style = style Or ES_UPPERCASE
SetWindowLong Text1.hwnd, GWL_STYLE, style
End Sub
HACCEL hAccel;
ACCEL acAccel[4]; acAccel[0].fVirt = FCONTROL | FVIRTKEY;
acAccel[0].key = ( DWORD )VkKeyScan( ( TCHAR )'a' );
acAccel[0].cmd = IDM_TEST1;
acAccel[1].fVirt = FVIRTKEY;
acAccel[1].key = ( DWORD )VkKeyScan( ( TCHAR )'b' );
acAccel[1].cmd = IDM_TEST2;
acAccel[2].fVirt = FSHIFT | FVIRTKEY;
acAccel[2].key = ( DWORD )VkKeyScan( ( TCHAR )'C' );
acAccel[2].cmd = IDM_TEST3;
acAccel[3].fVirt = FSHIFT | FVIRTKEY;
acAccel[3].key = ( DWORD )VkKeyScan( ( TCHAR )'c' );
acAccel[3].cmd = IDM_TEST3;
hAccel = CreateAcceleratorTable( acAccel, 4 );
while( ( bRet = GetMessage( &msg, NULL, 0, 0 ) ) != 0 ){
if( bRet == -1 ){
break;
}else{
if( !TranslateAccelerator( hWnd, hAccel, &msg ) ){
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
}
DestroyAcceleratorTable( hAccel );
return msg.wParam; ___
( ">
)(
// ) [email protected]
--//""------------
-/------
一不小心贴错地方了我认为调用api是最直接,最快捷的方法,我支持你的方法,不过就是难度增加了 ___
( ">
)(
// ) [email protected]
--//""------------
-/------