bsp; WS_EX_CLIENTEDGE, // this EX style is for the beveled edge ''''Edit'''', '''''''', WS_VISIBLE or WS_CHILD or ES_LEFT or ES_MULTILINE or ES_WANTRETURN or ES_AUTOVSCROLL or WS_VSCROLL, 5,34,380,234,Handle,0,hInst,nil); // Create the password Edit hPW:=CreateWindowEx( WS_EX_CLIENTEDGE, ''''Edit'''', '''''''', WS_VISIBLE or WS_CHILD or ES_LEFT or ES_AUTOHSCROLL or ES_PASSWORD, 230,5,155,24,Handle,0,hInst,nil); hLabel:=CreateWindow( ''''Static'''', ''''Password:'''', WS_VISIBLE or WS_CHILD or SS_LEFT, 160,10,70,20,Handle,0,hInst,nil); // Create a custom font for our window otherwise // everything would use the system font (blech!) hFont:=CreateFont( -12, // Height 0, // Width 0, // Angle of Rotation 0, // Orientation 0, // Weight 0, // Italic 0, // Underline 0, // Strike Out DEFAULT_CHARSET, // Char Set OUT_DEFAULT_PRECIS, // Precision CLIP_DEFAULT_PRECIS, // Clipping DEFAULT_QUALITY, // Render Quality DEFAULT_PITCH or FF_DONTCARE, // Pitch & Family ''''MS Sans Serif''''); // Font Name // Set the fonts for all our controls SendMessage(hEncrypt,WM_SETFONT,hFont,0); SendMessage(hDecrypt,WM_SETFONT,hFont,0); SendMessage(hEdit,WM_SETFONT,hFont,0); SendMessage(hPW,WM_SETFONT,hFont,0); SendMessage(hLabel,WM_SETFONT,hFont,0); // Subclass Encrypt Button (assign it a custom WindowProc) dEncrypt:=Pointer(GetWindowLong(hEncrypt,GWL_WNDPROC)); SetWindowLong(hEncrypt,GWL_WNDPROC,Longint(@EncryptProc)); // Subclass Decrypt Button dDecrypt:=Pointer(GetWindowLong(hDecrypt,GWL_WNDPROC)); SetWindowLong(hDecrypt,GWL_WNDPROC,Longint(@DecryptProc)); // The reason I don''''t subclass the Edit controls here // is because they don''''t do anything custom. If I wanted // them to Beep or something whenever you typed a "G" then // I would subclass them. // Focus on first control (otherwise people with no mouse are screwed) SetFocus(hEncrypt); // Now we loop GetMessage to process each Message in // our main window''''s message list. Every time the main // window recieves a message its added to the list, so // this loop here will eventually process it. while(GetMessage(Msg,Handle,0,0))do begin TranslateMessage(Msg); // Translate any keyboard Msg''''s DispatchMessage(Msg); // Send it to our WindowProc end; // for processing. end.
上一页 [1] [2] 没有相关教程
|