NmLa Posted July 28, 2017 Share Posted July 28, 2017 هذا كود لي زر في , برنامج بسيط يسوي شي معين لما اضغط عليه لاكن ادا ضفت 2 ازرار وحطيط فانكشن لكل زر .. لما اضغط علي زر يسوي نفس الوظيفه الاولي ثاني ؟؟ .. ها يلا وروني الحل LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; TCHAR greeting[] = _T("TEXT IN THE TAPLE!"); static HWND hButton; switch (message) { case WM_CREATE: // الزر hButton = CreateWindow( L"button", L"text in button", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 50, 100, // احداثيات لمكان الزر والحجم 110, 40, // احداثيات لمكان الزر والحجم hWnd, (HMENU) BUTTON_ID, // button_id موجود في define hInst, NULL ); // لو اضيف كمان زر واروح تحت اسويله الكومند حقه = يصير لو اضغط علي زر فيهم يسويلي الوظيفه الاولي + الوظيفه حقت الزر الثاني ! break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); TextOut(hdc, 5, 5, greeting, _tcslen(greeting)); EndPaint(hWnd, &ps); break; case WM_COMMAND: // كيس الضغط الكومند if(hButton) // ادا حدث الزر الي فوق .. يحصل الفاكشن الي تحت { func Func(0); hinstDLL = LoadLibrary(L"Loader.dll"); // load dll form folder . if(hinstDLL != 0) { Func = (func)GetProcAddress(hinstDLL, "Func"); } Func(0); FreeLibrary(hinstDLL); return 0; } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); break; } return 0; } قد يكون معي الحل ولاكن انا اري ان كان مبرمجين لهذه الغه هنا Link to comment
iMr.WiFi..! Posted July 28, 2017 Share Posted July 28, 2017 (edited) بسيطة .. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; TCHAR greeting[] = _T("TEXT IN THE TAPLE!"); static HWND hButton; switch (message) { case WM_CREATE: hButton = CreateWindow( L"button", L"text in button", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 50, 100, 110, 40, hWnd, (HMENU) BUTTON_ID, hInst, NULL ); hButton1 = CreateWindow( L"button", L"text in button", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 50, 100, 110, 40, hWnd, (HMENU) BUTTON_ID, hInst, NULL ); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); TextOut(hdc, 5, 5, greeting, _tcslen(greeting)); EndPaint(hWnd, &ps); break; case WM_COMMAND: if(hButton || hButton1) { func Func(0); hinstDLL = LoadLibrary(L"Loader.dll"); if(hinstDLL != 0) { Func = (func)GetProcAddress(hinstDLL, "Func"); } Func(0); FreeLibrary(hinstDLL); return 0; } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); break; } return 0; } شكراً على التوضيح بعض الاشياء قدرت اعرف الحل من توضيحك : ) Edited July 28, 2017 by iMr.WiFi..! || not && Link to comment
NmLa Posted July 28, 2017 Author Share Posted July 28, 2017 2 hours ago, iMr.WiFi..! said: بسيطة .. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; TCHAR greeting[] = _T("TEXT IN THE TAPLE!"); static HWND hButton; switch (message) { case WM_CREATE: hButton = CreateWindow( L"button", L"text in button", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 50, 100, 110, 40, hWnd, (HMENU) BUTTON_ID, hInst, NULL ); hButton1 = CreateWindow( L"button", L"text in button", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 50, 100, 110, 40, hWnd, (HMENU) BUTTON_ID, hInst, NULL ); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); TextOut(hdc, 5, 5, greeting, _tcslen(greeting)); EndPaint(hWnd, &ps); break; case WM_COMMAND: if(hButton || hButton1) { func Func(0); hinstDLL = LoadLibrary(L"Loader.dll"); if(hinstDLL != 0) { Func = (func)GetProcAddress(hinstDLL, "Func"); } Func(0); FreeLibrary(hinstDLL); return 0; } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); break; } return 0; } شكراً على التوضيح بعض الاشياء قدرت اعرف الحل من توضيحك : ) هههه متاكد ان مش ناقصك شي ؟ لازم تحط static HWND hButton, hButton1; او تحط كل واحد لواحده static HWND hButton; static HWND hButton1; لاكن مازال الكود خطأ ههه , قد يكون حل بطريقه اخري ههه Link to comment
iMr.WiFi..! Posted July 28, 2017 Share Posted July 28, 2017 مايصلح نستعمل ؟؟ case hButton, hButton1; Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now