Comment créer un embedded zone de saisie de texte dans win32 de windows

Je veux créer une petite boîte ancrées dans ma fenêtre principale qui peut accepter de saisie de texte et contiennent des boutons. Quand je dis intégré, je veux dire, je veux qu'il soit intégré dans ma fenêtre principale de manière transparente, sans son propre bouton. J'ai cherché sur google sans cesse et n'ont pas trouvé une réponse qui ne comportent pas de mfc ou .net. Comment puis-je faire dans un raw application win32. S'il vous plaît ajouter votre code de mon squelette indiqué ci-dessous. Merci!

#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("App") ;
HWND         hwnd ;
MSG          msg ;
WNDCLASS     wndclass ;
wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc   = WndProc ;
wndclass.cbClsExtra    = 0 ;
wndclass.cbWndExtra    = 0 ;
wndclass.hInstance     = hInstance ;
wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName  = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("This program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName,                  //window class name
TEXT ("App"), //window caption
WS_OVERLAPPEDWINDOW,        //window style
CW_USEDEFAULT,              //initial x position
CW_USEDEFAULT,              //initial y position
CW_USEDEFAULT,              //initial x size
CW_USEDEFAULT,              //initial y size
NULL,                       //parent window handle
NULL,                       //window menu handle
hInstance,                  //program instance handle
NULL) ;                     //creation parameters
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC         hdc ;
PAINTSTRUCT ps ;
RECT        rect ;
switch (message)
{
case WM_CREATE:
return 0 ;
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
  • c'est un début de projet de shell dans visual studio, où est votre tenté de trouver des solutions?
InformationsquelleAutor Iowa15 | 2012-07-07