منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كتابت كود لعمل نافذه
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم
هذا الكود بلغه c++ احتاج نفسه بس بلغه vb.net
هذا البرنامج لعمل نافذه
#include<windows.h>
LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);
char szWinName[]="MyWin";
int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hprevInst,LPSTR IpszArgs,int nWinMode)
{
HWND hwnd;
MSG msg;
WNDCLASS wcl;
wcl.cbSize=sizeof(WNDCLASS);
wcl.hInstance=hThisInst;
wcl.lpszClassName=szWinName;
wcl.lpfnWndProc=WindowFunc;
wcl.style=0;
wcl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wcl.hIconSm=LoadIcon(NULL,IDI_WINLOGO);
wcl.hCursor=LoadCursor(NULL,IDC_ARROW);
wcl.lpszMenuName=NULL;
wcl.cbClsExtra=0;
wcl.cbWndExtra=0;
wcl.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wcl)) return 0;
hwnd=CreateWindow(szWinName,"windows 98 skeleton",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,HWND_DEBKTOP,NULL,hThlsInst,NuLL);
ShowWindow(hwnd,nWinMode);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lparam)
{
switch(message)
{
case WM_DESTROYTongueostQuitMessage(0);
break;
default;
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
(04-11-16, 07:43 AM)hano كتب : [ -> ]سلام عليكم
هذا الكود بلغه c++ احتاج نفسه بس بلغه vb.net
هذا البرنامج لعمل نافذه
#include<windows.h>
LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);
char szWinName[]="MyWin";
int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hprevInst,LPSTR IpszArgs,int nWinMode)
{
HWND hwnd;
MSG msg;
WNDCLASS wcl;
wcl.cbSize=sizeof(WNDCLASS);
wcl.hInstance=hThisInst;
wcl.lpszClassName=szWinName;
wcl.lpfnWndProc=WindowFunc;
wcl.style=0;
wcl.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wcl.hIconSm=LoadIcon(NULL,IDI_WINLOGO);
wcl.hCursor=LoadCursor(NULL,IDC_ARROW);
wcl.lpszMenuName=NULL;
wcl.cbClsExtra=0;
wcl.cbWndExtra=0;
wcl.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wcl)) return 0;
hwnd=CreateWindow(szWinName,"windows 98 skeleton",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,HWND_DEBKTOP,NULL,hThlsInst,NuLL);
ShowWindow(hwnd,nWinMode);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lparam)
{
switch(message)
{
case WM_DESTROYTongueostQuitMessage(0);
break;
default;
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}

كود :
#include<windows.h>
LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM)
Char szWinName() ="MyWin"
Integer WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hprevInst,LPSTR IpszArgs,Integer nWinMode)
Dim hwnd As HWND
Dim msg As MSG
Dim wcl As WNDCLASS
wcl.cbSize=Len(New WNDCLASS)
wcl.hInstance=hThisInst
wcl.lpszClassName=szWinName
wcl.lpfnWndProc= AddressOf WindowFunc
wcl.style=0
wcl.hIcon=LoadIcon(NULL,IDI_APPLICATION)
wcl.hIconSm=LoadIcon(NULL,IDI_WINLOGO)
wcl.hCursor=LoadCursor(NULL,IDC_ARROW)
wcl.lpszMenuName=NULL
wcl.cbClsExtra=0
wcl.cbWndExtra=0
wcl.hbrBackground=CType(GetStockObject(WHITE_BRUSH), HBRUSH)
If Not RegisterClass(&wcl) Then
    Return 0
End If
hwnd=CreateWindow(szWinName,"windows 98 skeleton",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,HWND_DEBKTOP,NULL,hThlsInst,NuLL)
ShowWindow(hwnd,nWinMode)
UpdateWindow(hwnd)
Do While GetMessage(&msg,NULL,0,0)
TranslateMessage(&msg)
DispatchMessage(&msg)
Loop
Return msg.wParam
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lparam)
Select Case message
Case WM_DESTROYTongueostQuitMessage(0)
default
Return DefWindowProc(hwnd,message,wParam,lParam)
End Select
Return 0
من الواضح ان الكود الخاص بك مصمم للعمل علي الويندوز 98
لكن في الدوت نت يمكنك تعريف Form باستخدام Dim F as new Form ثم تقوم بتحديد ابعاده , وتحديد الايقونة التي ستظهر مع الفورم  و تحديد مكان ظهور الفورم علي الشاشة ثم تقوم بإظهاره ثم و بعد انتهائك من استخدام الفورم تقوم بإغلاقه


لكن لو كان الهدف من الكود ان يعمل علي الويندوز 98 يجب هنا تحديد نوعية OperatingSystem لأن هذا سوف يؤثر في نوعية Themes التي ستظهر علي شاشة الكمبيوتر