Peter
do you can try this way..
/* BY PETER */
Type WNDCLASS
long style
long lpfnwndproc
long cbClsextra
long cbWndExtra
long hInstance
long hIcon
long hCursor
long hbrBackground
long lpszMenuName
long lpszClassName
End Type
Type POINT
long x
long y
End Type
Type MSG
long hwnd
long message
long wParam
long lParam
long time
POINT pt
End Type
% NULL_BRUSH = 5
% SW_SHOW = 5
% CS_VREDRAW = 1
% CS_HREDRAW = 2
% WM_CREATE = 1
% WM_DESTROY = 2
% WM_PAINT = 15
% WM_QUIT = 18
% IDI_WINLOGO = 32517
% IDC_ARROW = 32512
% COLOR_WINDOW = 5
% WS_OVERLAPPED= 0x80000
sys user32
user32 = LoadLibrary "user32.dll"
Bind user32
(
CreateWindowEx CreateWindowExA
ValidateRect ValidateRect
InValidateRect InValidateRect
ReleaseDC ReleaseDC
)
! GetModuleHandle Lib "kernel32.dll" Alias "GetModuleHandleA" (string lpModuleName) As sys
! ShowWindow Lib "user32.dll" (sys hwnd, nCmdShow) As sys
! UpdateWindow Lib "user32.dll" (sys hwnd) As sys
! RegisterClass Lib "user32.dll" Alias "RegisterClassA" (WNDCLASS *Class) As sys
! GetMessage Lib "user32.dll" Alias "GetMessageA" (MSG *lpMsg, sys hwnd, wMsgFilterMin, wMsgFilterMax) As sys
! DispatchMessage Lib "user32.dll" Alias "DispatchMessageA" (MSG *lpMsg) As sys
! TranslateMessage Lib "user32.dll" (MSG *lpMsg) As sys
! LoadIcon Lib "user32.dll" Alias "LoadIconA" (sys hInstance, string lpIconName) As sys
! LoadCursor Lib "user32.dll" Alias "LoadCursorA" (sys hInstance, string lpCursorName) As sys
! PostQuitMessage Lib "user32.dll" (sys nExitCode)
! DefWindowProc Lib "user32.dll" Alias "DefWindowProcA" (sys hwnd, wMsg, wParam, lParam) As sys
! GetDC Lib "user32.dll" (sys hwnd) As sys
! BeginPath Lib "gdi32.dll" (sys hdc) As sys
! TextOut Lib "gdi32.dll" Alias "TextOutA" (sys hdc,x,y,string lpString,sys nCount) As sys
! SetBkMode Lib "gdi32.dll" (sys hdc,nBkMode) As sys
! SetBkColor Lib "gdi32.dll" (sys hdc,crColor) As sys
! SetTextColor Lib "gdi32.dll" (sys hdc,crColor) As sys
! Rectangle Lib "gdi32.dll" (sys hdc,x1,y1,x2,y2) As sys
! Ellipse Lib "gdi32.dll" (sys hdc,x1,y1,x2,y2) As sys
! CreateSolidBrush Lib "gdi32.dll" (sys crColor) As sys
! SelectObject Lib "gdi32.dll" (sys hdc, hObject) As sys
! DeleteObject Lib "gdi32.dll" (sys hObject) As sys
! GetStockObject Lib "gdi32.dll" (sys nIndex) As sys
string pw = "pw"
string hello = "DO YOU LIKE BANANA MICROSOFT ?"
string hellu = "DO YOU LIKE MICROSOFT BANANAS?"
Function WinProc(sys hWnd, iMsg, wParam, lParam) as sys callback
select imsg
'
case WM_PAINT
hdc = GetDC(hWnd)
SelectObject hdc,GetStockObject(NULL_BRUSH)
Rectangle hdc,150,190,420,240
SetBkMode hdc,2
SetTextColor hdc,255*256
SetBkColor hdc,5198455
TextOut hdc,160,200,Hello,Len(hello)
SetBkMode hdc,1
SetTextColor hdc,0
TextOut hdc,160,216,Hellu,Len(hello)
ReleaseDC hwnd,hdc
'InvalidateRect hWnd,0,0
case WM_DESTROY
PostQuitMessage 0
end select
Return DefWindowProc hWnd, iMsg, wParam, lParam
End Function
MSG iMsg
WNDCLASS wc
sys hwnd, hInst
hInst = GetModuleHandle 0
wc.style = CS_HREDRAW or CS_VREDRAW
wc.lpfnWndProc = &WinProc
wc.cbClsExtra = 0
wc.cbWndExtra = 0
wc.hInstance = hInst
wc.hIcon = LoadIcon 0,IDI_WINLOGO
wc.hCursor = LoadCursor 0,IDC_ARROW
wc.hbrBackground= COLOR_WINDOW+1
wc.lpszMenuName = 0
lea eax,pw
wc.lpszClassName = eax
RegisterClass wc
hWnd = CreateWindowEx 0,wc.lpszClassName,"o2Basic",WS_OVERLAPPED,50,50,640,480,0,0,hInst,0
ShowWindow hwnd, SW_SHOW
while GetMessage iMsg,0,0,0
iF iMsg.message= WM_QUIT Then Exit While
TranslateMessage iMsg
DispatchMessage iMsg
wend