Changeset 11612
- Timestamp:
- Sep 23, 1999, 5:50:21 PM (26 years ago)
- Location:
- tags/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified tags/trunk/include/win/hotkey.h ¶
r11573 r11612 1 /* $Id: hotkey.h,v 1. 3 1999-09-19 13:26:47 cbratschi Exp $ */1 /* $Id: hotkey.h,v 1.4 1999-09-23 15:49:57 cbratschi Exp $ */ 2 2 3 3 /* … … 21 21 INT fwModInv; 22 22 POINT cursorPos; 23 BYTE bfModsDown; 23 24 } HOTKEY_INFO; 24 25 -
TabularUnified tags/trunk/src/comctl32/hotkey.c ¶
r11578 r11612 1 /* $Id: hotkey.c,v 1. 7 1999-09-20 15:59:27cbratschi Exp $ */1 /* $Id: hotkey.c,v 1.8 1999-09-23 15:50:21 cbratschi Exp $ */ 2 2 /* 3 3 * Hotkey control … … 7 7 * Copyright 1999 Christoph Bratschi 8 8 * 9 * NOTES 10 * Development in progress. 11 * 12 * TODO: 13 * - keyboard messages 9 * Status: Development in progress 10 * Version: 5.00 14 11 */ 15 12 … … 24 21 HOTKEY_Refresh(HWND hwnd) 25 22 { 26 InvalidateRect(hwnd,NULL,FALSE); 23 RECT rect; 24 25 GetClientRect(hwnd,&rect); 26 InflateRect(&rect,-2,-2); 27 InvalidateRect(hwnd,&rect,FALSE); 27 28 } 28 29 … … 87 88 HOTKEY_Char(HWND hwnd,WPARAM wParam,LPARAM lParam,BOOL sysKey) 88 89 { 89 //CB: 90 HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr(hwnd); 91 92 if (wParam != infoPtr->bVKHotKey) 93 { 94 infoPtr->bVKHotKey = wParam & 0xFF; 95 infoPtr->bfMods = HOTKEY_Check(infoPtr,infoPtr->bfMods); 96 HOTKEY_Refresh(hwnd); 97 } 98 90 99 return 0; 91 100 } … … 112 121 infoPtr->cursorPos.x = 3; 113 122 infoPtr->cursorPos.y = 3; 123 infoPtr->bfModsDown = 0; 114 124 115 125 /* get default font height */ … … 144 154 if (!hBrush) hBrush = (HBRUSH)GetStockObject(WHITE_BRUSH); 145 155 GetClientRect(hwnd,&rc); 156 HideCaret(hwnd); 146 157 FillRect((HDC)wParam,&rc,hBrush); 158 ShowCaret(hwnd); 147 159 148 160 return -1; … … 163 175 { 164 176 HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr (hwnd); 165 INT newMods = sysKey ? HOTKEYF_ALT:0; 166 177 INT newMods = (sysKey ? HOTKEYF_ALT:0) | infoPtr->bfModsDown; 178 INT newKey = (infoPtr->bfModsDown == 0) ? 0:infoPtr->bVKHotKey; 179 180 if (sysKey) infoPtr->bfModsDown |= HOTKEYF_ALT; 167 181 switch (wParam) 168 182 { … … 177 191 case VK_SHIFT: 178 192 newMods |= HOTKEYF_SHIFT; 193 infoPtr->bfModsDown |= HOTKEYF_SHIFT; 179 194 break; 180 195 181 196 case VK_CONTROL: 182 197 newMods |= HOTKEYF_CONTROL; 198 infoPtr->bfModsDown |= HOTKEYF_CONTROL; 199 break; 200 201 default: 202 //CB: 203 break; 204 } 205 206 newMods = HOTKEY_Check(infoPtr,newMods); 207 if (infoPtr->bfMods != newMods) 208 { 209 infoPtr->bVKHotKey = newKey; 210 infoPtr->bfMods = newMods; 211 HOTKEY_Refresh(hwnd); 212 } 213 214 return 0; 215 } 216 217 218 static LRESULT 219 HOTKEY_KeyUp (HWND hwnd, WPARAM wParam, LPARAM lParam,BOOL sysKey) 220 { 221 HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr (hwnd); 222 INT newMods = infoPtr->bfModsDown; 223 224 if (sysKey) 225 { 226 newMods &= ~HOTKEYF_ALT; 227 infoPtr->bfModsDown &= ~HOTKEYF_ALT; 228 } 229 switch (wParam) 230 { 231 case VK_RETURN: 232 case VK_TAB: 233 case VK_SPACE: 234 case VK_DELETE: 235 case VK_ESCAPE: 236 case VK_BACK: 237 return DefWindowProcA (hwnd,sysKey ? WM_SYSKEYDOWN:WM_KEYDOWN, wParam, lParam); 238 239 case VK_SHIFT: 240 newMods &= ~HOTKEYF_SHIFT; 241 infoPtr->bfModsDown &= ~HOTKEYF_SHIFT; 242 break; 243 244 case VK_CONTROL: 245 newMods &= ~HOTKEYF_CONTROL; 246 infoPtr->bfModsDown &= ~HOTKEYF_CONTROL; 183 247 break; 184 248 … … 187 251 } 188 252 189 infoPtr->bfMods = newMods; 190 HOTKEY_Refresh(hwnd); 191 192 return TRUE; 193 } 194 195 196 static LRESULT 197 HOTKEY_KeyUp (HWND hwnd, WPARAM wParam, LPARAM lParam,BOOL sysKey) 198 { 199 HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr (hwnd); 200 201 // FIXME (hotkey, " %d\n", wParam); 202 203 return 0; 253 newMods = HOTKEY_Check(infoPtr,newMods); 254 if (infoPtr->bfMods != newMods) 255 { 256 infoPtr->bfMods = newMods; 257 HOTKEY_Refresh(hwnd); 258 } 259 260 return 0; 204 261 } 205 262 … … 210 267 HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr (hwnd); 211 268 269 infoPtr->bfModsDown = 0; 212 270 infoPtr->bFocus = FALSE; 213 DestroyCaret 271 DestroyCaret(); 214 272 215 273 return 0; … … 220 278 HOTKEY_LButtonDown (HWND hwnd, WPARAM wParam, LPARAM lParam) 221 279 { 222 /* HOTKEY_INFO *infoPtr = HOTKEY_GetInfoPtr (hwnd); */223 224 280 SetFocus (hwnd); 225 281 … … 271 327 char2[1] = 0; 272 328 strcat(text,char2); 273 } 329 } else if (infoPtr->bfModsDown) strcat(text,"+"); 274 330 if(infoPtr->hFont) oldFont = SelectObject(hdc,infoPtr->hFont); 275 331 SetBkMode(hdc,TRANSPARENT);
Note:
See TracChangeset
for help on using the changeset viewer.