السلام عليكم
أخوتي الأعزاء، لقد شاب شعر رأسي وأنا أحاول أن أظهر تافذة باستخدام CreateWindow و ShowWinodw في الكونسول مود بدون جدوى، فهل هناك أحد لديه فكرة عن كيفية عمل ذلك؟
السلام عليكم
أخوتي الأعزاء، لقد شاب شعر رأسي وأنا أحاول أن أظهر تافذة باستخدام CreateWindow و ShowWinodw في الكونسول مود بدون جدوى، فهل هناك أحد لديه فكرة عن كيفية عمل ذلك؟
أخي الحبيب ...
مهما حاولت فلن تستطيع أن تظهر تلك النافذ لسبب بسيط ألا و هو أنها تظهر في بيئة الويندز و ليس الدوس فالكونسل مود مخصص لدوس وليس الويندز
ما أقولك مستحيل !! بس يحتاج إلى خبرة بالرسومات و التلوين في عالم الدوس باستخدام مكتبة الجرفيكس و لكن تأكد من أن هذه النافذ لن تعمل إلا تحت بيئة الدوس فقط بمعنى لن تراها إذا كنت تعمل على فيجول سي بلاس بلاس ..
و لكن إذا أردت أن تعمل هذا كله في بيئة الويندز ما عليك إلا أن تختار Win32 Application و كل شئ بيكون تمام .. و طبيعة الحال سوف تستخدم مكتبة الويندز ...
و قد قام بعض الأخوة في هذا المنتدى بوضع دروس أولية في هذا المجال انقر على هذه الوصلةhttp://www.arabteam2000.com/vb/showthread....&threadid=18003
السلام عليكم
أخي العزيز ، برامج الكونسول مود برامج ويندوز 32 بت وليست برامج دوس، ولن تعمل أصلا على الدوس، وبما أن برامج المونسول مود هي برامج ويندوز 32 بت إذا تستطيع مناداة دوال API النظام ويندوز وتستطيع أن تفعل ما تشاء، على سبيل المثال هذا البرنامج البسيط الذي يوضح كيف أن برامج الكونسول مود رغم أن شطلها "متخلف" إلا أنها تستطيع أن تفعل ما تفعله إي برامج أخرى
#include <windows.h>
void main()
{
HDC dc = GetDC((HWND)0);
HBRUSH br;
LOGBRUSH lb;
HPEN pen;
lb.lbColor = RGB(250,10,10);
lb.lbStyle = BS_HATCHED;
lb.lbHatch = HS_DIAGCROSS;
br = CreateBrushIndirect(&lb);
pen = CreatePen(PS_SOLID,5,RGB(10,100,250));
SelectObject(dc,pen);
SelectObject(dc,br);
SetBkMode(dc,TRANSPARENT);
Rectangle(dc,0,0,200,200);
TextOut(dc,10,10,"Console Mode Programs!",22);
}أما بالنسبة لإنشاء نافذة من البرنامج فهذا ممكن ، وهناك برامج تفعل ذلك .
ولقد استطعت أن أعرض نافذة ولكن المشكلة أنه تظهر لك معها شعار ويندوز الثاني "العملية غير الشرعية"
أتصور أنه بإمكاني حل المشكلة ولكن بعد مراجعة ملفات الهلب للوظائف التي استخدمتها لمعرفة الخطأ، ولكنني كنت أريد حلا سريعا لأن عندي ثلاثة مياجر هالأسبوع، عموما شكرا لكم ،
أخي إذا كنت تستخدم MFC فيمكنك ذلك:
قم بإنشاء مشروع جديد : win32 console application >>
وفي الخطوة الاولى إختر الخيار الرابع : أي يدعم مكتبات MFC ... ثم finish..
بعد ذلك قم بإختيار insert>>resourse>>Dialog ..وقم بإنشاء صندوق حوار بالشكل الذي تريده... بعد ذلك إضغط على صندوق الحوار بزر الماوس الايمن واختر: ClassWizard
واختر اسم الكلاس الذي سيمثل صندوق الحوار.
----
الان إذهب الى الدالة الاساسية التي بناها لك المعالج, وهي tmain_ , وداخلها عرّف متغير من نوع الكلاس الذي يمثّل صندوق الحوار.. (لنفرض أنك إخترت أن يكون اسم الكلاس الذي يمثل صندوق الحوار هو MydearDialog >>
أي:
;MyDearDialog dlg <-- تعريف متغير من نوع الكلاس الذي يمثّل صندوق الحوار
الان أكتب:
;()dlg.Domodal
-----
طبعا عليك أن تضمّن ملف الـ h لذي يحوي تعريف صندوق الحوار في هذا الملف.
هذا الموضوع مغلق.