feri88
شنبه 26 اردیبهشت 1388, 21:13 عصر
سلام
چگونه امکان داره که در روال مربوط به دیالوگ،از یک متغیر خارجی استفاده کنیم؟
چون ظاهرا نمی تونیم همین متغیر خارجی رو(که قراره در داخل پردازش پیام ها از آن استفاده کنیم)به عنوان آرگومان ورودی روال بفرستیم!
با توجه به اینکه روال دیالوگ،آرگومان های ورودی از پیش تعریف شده به صورت زیر داره:
BOOL CALLBACK DlgProc (HWND, UINT, WPARAM, LPARAM) ;
چه طوری می شه که یک متغیر دیگه رو (که از جای دیگه مقدار گرفته!)به عنوان آرگومان به اون ارسال کرد؟
توضیح:
البته با فرض اینکه قرار باشه این دیالوگ رو توی یه برنامه dll فراخونی کرد!
نه یه برنامه ویندوزی که تابع winmain و روال wndproc داشته باشه،
یعنی اینکه نه خبری از رجیستر کردن کلاس ویندوز باشه و نه پیاده سازی wndproc .فقط یه دیالوگ و روال مربوط به اون باشه!
من توی برنامه های ویندوزی که توی winmain اون overhead های ثابت رو داره و تابع DialogBox توی روال wndproc فراخونی میشه و روال مربوط به دیالوگ اجرا میشه رو دیدم،البته تو نمونه برنامه هایی که من دیدم بازم نمی شد که متغیر خارجی رو وارد روال دیالوگ کرد!
ولی به هر حال می خوام ببینم چه جوری میشه این کار رو کرد؟ به خصوص اگه یه برنامه روتین ویندوزی نباشه و فقط بخوام داخل یه کد dll از تابع DialogBox و روال مربوط به اون استفاده کنم.
مرسی:لبخندساده:
چگونه امکان داره که در روال مربوط به دیالوگ،از یک متغیر خارجی استفاده کنیم؟
چون ظاهرا نمی تونیم همین متغیر خارجی رو(که قراره در داخل پردازش پیام ها از آن استفاده کنیم)به عنوان آرگومان ورودی روال بفرستیم!
با توجه به اینکه روال دیالوگ،آرگومان های ورودی از پیش تعریف شده به صورت زیر داره:
BOOL CALLBACK DlgProc (HWND, UINT, WPARAM, LPARAM) ;
چه طوری می شه که یک متغیر دیگه رو (که از جای دیگه مقدار گرفته!)به عنوان آرگومان به اون ارسال کرد؟
توضیح:
البته با فرض اینکه قرار باشه این دیالوگ رو توی یه برنامه dll فراخونی کرد!
نه یه برنامه ویندوزی که تابع winmain و روال wndproc داشته باشه،
یعنی اینکه نه خبری از رجیستر کردن کلاس ویندوز باشه و نه پیاده سازی wndproc .فقط یه دیالوگ و روال مربوط به اون باشه!
من توی برنامه های ویندوزی که توی winmain اون overhead های ثابت رو داره و تابع DialogBox توی روال wndproc فراخونی میشه و روال مربوط به دیالوگ اجرا میشه رو دیدم،البته تو نمونه برنامه هایی که من دیدم بازم نمی شد که متغیر خارجی رو وارد روال دیالوگ کرد!
ولی به هر حال می خوام ببینم چه جوری میشه این کار رو کرد؟ به خصوص اگه یه برنامه روتین ویندوزی نباشه و فقط بخوام داخل یه کد dll از تابع DialogBox و روال مربوط به اون استفاده کنم.
مرسی:لبخندساده: