Difference between revisions of "Forms & Dialogs"

From Team Developer SqlWindows Wiki
Jump to: navigation, search
(Added tip for forcing window on taskbar)
m (Deleted enter new tip title section)
Line 57: Line 57:
 
*[http://samples.tdcommunity.net/index.php?dir=&file=WIKI_ShowWindowOnTaskbar.zip WIKI_ShowWindowOnTaskbar.zip]<br>
 
*[http://samples.tdcommunity.net/index.php?dir=&file=WIKI_ShowWindowOnTaskbar.zip WIKI_ShowWindowOnTaskbar.zip]<br>
 
<br>
 
<br>
 
<!------------------------------------------------------------------------------------------------------------------------------>
 
{{TipHeader|Enter new tip title here}}
 
Enter new tip description here
 

Revision as of 23:04, 8 May 2009

This page covers Form Window and DialogBox tips & tricks.

Contents


Pointer2.png How to drag a window without a caption Pointer.png

See Windows messages : How to drag a window without a caption


Pointer2.png How to force a window on the taskbar Pointer.png

When a top-level window is created without a specific parent (hWndNULL) the window will be visible on the Windows taskbar.
Windows created using a parent, will not be shown.

To be able to use a parent while creating a window AND having it placed on the taskbar, use the following:
On creation of the window, set the GWL_EXSTYLE to WS_EX_APPWINDOW.

First declare these external functions and system constants:

Library name: USER32.DLL
   Function: GetWindowLongA
      Export Ordinal: 0
      Returns
         Number: LONG
      Parameters
         Window Handle: HWND
         Number: INT

   Function: SetWindowLongA
      Export Ordinal: 0
      Returns
         Number: LONG
      Parameters
         Window Handle: HWND
         Number: INT
         Number: LONG


Constants
   System
      Number: GWL_EXSTYLE	= -20
      Number: WS_EX_APPWINDOW	= 0x00040000

Now, set the WS_EX_APPWINDOW style to the window at creation:

On SAM_Create
   Call SetWindowLongA( hWndForm, GWL_EXSTYLE, GetWindowLongA( hWndForm, GWL_EXSTYLE ) | WS_EX_APPWINDOW )

The window will be shown on the taskbar.

Here you can download a sample: