|
From: <jos...@ya...> - 2001-01-08 13:55:01
|
Ramana, >I realised that I could use the & to "accelerate" a key (I use this >with my menu items, &Open, for example). I appologise. >Do you know the way I can make my "&Cancel" button respond to the "Esc" >key? >Are there special ways for each key (like DEFPUSHBUTTON, for "Enter")? I think that is not possible. Check what the Win32 API says: ======================================================== Windows provides a special keyboard interface for dialog boxes that carries out special processing for several keys. The interface generates messages that correspond to certain buttons in the dialog box or changes the input focus from one control to another. Following are the keys used in this interface and their respective actions. Key Action ALT+mnemonic Moves the input focus to the first control (having the WS_TABSTOP style) after the static control containing the given mnemonic. DOWN Moves the input focus to the next control in the group. ENTER Sends a WM_COMMAND message to the dialog box procedure. The wParam parameter is set to IDOK or control identifier of the default push button. ESC Sends a WM_COMMAND message to the dialog box procedure. The wParam parameter is set to IDCANCEL. LEFT Moves the input focus to the previous control in the group. mnemonic Moves the input focus to the first control (having the WS_TABSTOP style) after the static control containing the given mnemonic. RIGHT Moves the input focus to the next control in the group. SHIFT+TAB Moves the input focus to the previous control that has the WS_TABSTOP style. TAB Moves the input focus to the next control that has the WS_TABSTOP style. UP Moves the input focus to the previous control in the group. The Win32 API automatically provides the keyboard interface for all modal dialog boxes. It does not provide the interface for modeless dialog boxes unless the application calls the IsDialogMessage function to filter messages in its main message loop. This means that the application must pass the message to IsDialogMessage immediately after retrieving the message from the message queue. The function processes the messages if it is for the dialog box and returns a nonzero value to indicate that the message has been processed and must not be passed to the TranslateMessage or DispatchMessage function. Because the dialog box keyboard interface uses direction keys to move between controls in a dialog box, an application cannot use these keys to scroll the contents of any modal dialog box or any modeless dialog box for which IsDialogMessage is called. When a dialog box has scroll bars, the application must provide an alternate keyboard interface for the scroll bars. Note that the mouse interface for scrolling is available when the system includes a mouse. ================================================================================== >I also noticed that you and a few other win32 programmers have been >talking about MSDN. I have got a version of the SDK help (win32.hlp) but this >is very old (based on the content) - it doesn't cover HTML help, only Win >Help and a few other things are old too. I'll have a look at the MSDN site, >but could you tell me the URL to download the SDK help or, the hyperlinks >to take. Don´t remember exactly but here is a start http://msdn.microsoft.com/ and check for Platform SDK Latest version of win32.hlp is given out by Borland. The file name is b5ms.zip (17 Mb). I´ll update soon my pages to the server. There should be the links http://www.geocities.com/josempadron/ >Also, do you know whether I am using MFC or pure API? I don't use >functions like OnInitDlg(), for dialogs I use a BOOL CALLBACK function. Oh, and >what does SDK stand for, because although this came from Microsoft, it seems >to cover some of the things I use (which I thought was pure API). I could >be using both. I don´t use, know, ... MFC. Hope this helps. Don´t hesitate to ask more. Cheers, Chemanuel __________________________________________________ Do You Yahoo!? Yahoo! Photos - Share your holiday photos online! http://photos.yahoo.com/ |