Re-root site.
This commit is contained in:
73
windows/windows_test.fs
Normal file
73
windows/windows_test.fs
Normal file
@ -0,0 +1,73 @@
|
||||
\ Copyright 2022 Bradley D. Nelson
|
||||
\
|
||||
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
\ you may not use this file except in compliance with the License.
|
||||
\ You may obtain a copy of the License at
|
||||
\
|
||||
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||
\
|
||||
\ Unless required by applicable law or agreed to in writing, software
|
||||
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
\ See the License for the specific language governing permissions and
|
||||
\ limitations under the License.
|
||||
|
||||
also windows also internals
|
||||
|
||||
z" MyClass" constant MyClassName
|
||||
z" Test Window" constant MyWindowTitle
|
||||
|
||||
NULL GetModuleHandleA constant hinst
|
||||
|
||||
pad WINDCLASSA erase
|
||||
WindowProcShim pad ->lpfnWndProc !
|
||||
hinst pad ->hInstance !
|
||||
MyClassName pad ->lpszClassName !
|
||||
NULL IDC_ARROW LoadCursorA pad ->hCursor !
|
||||
hinst IDI_MAIN_ICON LoadIconA pad ->hIcon !
|
||||
pad RegisterClassA constant myclass
|
||||
|
||||
create ps PAINTSTRUCT allot
|
||||
|
||||
255 192 0 RGB CreateSolidBrush constant orange
|
||||
0 255 0 RGB CreateSolidBrush constant green
|
||||
|
||||
create side RECT allot
|
||||
0 side ->left !
|
||||
0 side ->top !
|
||||
200 side ->right !
|
||||
100 side ->bottom !
|
||||
|
||||
: MyWindowProc { hwnd msg w l }
|
||||
WM_DESTROY msg = if
|
||||
0 PostQuitMessage
|
||||
0 exit
|
||||
then
|
||||
WM_PAINT msg = if
|
||||
hwnd ps BeginPaint drop
|
||||
ps ->hdc @ ps ->rcPaint orange FillRect drop
|
||||
ps ->hdc @ side green FillRect drop
|
||||
hwnd ps EndPaint drop
|
||||
0 exit
|
||||
then
|
||||
hwnd msg w l DefWindowProcA
|
||||
;
|
||||
|
||||
0 myclass MyWindowTitle WS_OVERLAPPEDWINDOW
|
||||
CW_USEDEFAULT CW_USEDEFAULT 640 480
|
||||
NULL NULL hinst ' MyWindowProc callback
|
||||
CreateWindowExA constant hwnd
|
||||
|
||||
hwnd SW_SHOWMAXIMIZED ShowWindow drop
|
||||
hwnd SetForegroundWindow drop
|
||||
|
||||
create mymsg msg allot
|
||||
: pump
|
||||
begin mymsg NULL 0 0 GetMessageA while
|
||||
\ mymsg ->message @ WM_>name type cr
|
||||
mymsg TranslateMessage drop
|
||||
mymsg DispatchMessageA drop
|
||||
repeat
|
||||
;
|
||||
pump
|
||||
bye
|
||||
Reference in New Issue
Block a user