ايران ويج

نسخه‌ی کامل: بدست آوردن خصوصیات یک شیی و یا تغییر آنها
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
می خواستم ببینم با چه تابعی میتونیم خصوصیات یک شیی از قبیل top و left , font , ... رو بدست بیاریم؟
و آیا راهی هست که بشه آنها را تغییر داد؟
لطفا دقیق تر توضیح بده
با وابع api میخواهی؟
با getwindowrect
کد:
The GetWindowRect function retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.

BOOL GetWindowRect(

    HWND hWnd,    // handle of window
    LPRECT lpRect     // address of structure for window coordinates
   );    


Parameters

hWnd

Identifies the window.

lpRect

Points to a RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window.
Return Values
If the function succeeds, the return value is nonzero.
بله با تابع API
این تابع که گفتی که فقط اندازه و ابعاد اون شیی رو به ما میده از این هم میشه استفاده کرد برای height, width
برای بدست آوردن خصوصیات دیگه باید چکار کرد؟
ترجیحا به زبان ویبی باشه هر چه میگید.
مثلا یه button داریم میخایم bgcolor, forecolor, font size ,.... را بدست بیاریم (و سپس تغییر بدهیم)
برای تغییر دادن اون خصوصیات که مربوط به font هست شما باید پیغامهای مربوط به هر کدام رو با sendmessage به پنجره مربوطه ارسال کنید یعنی با createfont فونت مورد نظر خود را اماده نموده از نظر سایز و رنگ بعد با wm_fontchange به پنجره مقصد ارسال میکنید
lord_viper نوشته است:برای تغییر دادن اون خصوصیات که مربوط به font هست شما باید پیغامهای مربوط به هر کدام رو با sendmessage به پنجره مربوطه ارسال کنید یعنی با createfont فونت مورد نظر خود را اماده نموده از نظر سایز و رنگ بعد با wm_fontchange به پنجره مقصد ارسال میکنید

دستت درد نکنه سر نخ خوبی بهم دادی.
از کجا بفهمیم این sendmessage چه کارهای دیگه ای میتونه بکنه؟
تمام کارها تو ویندوز با این message ها انجام میشه یه مقاله هم گذاشتم در مورد کارهایی که با sendmessage میشه انجام داد منبع اصلی MSDN
مقالتو خوندم آقا مبین
خب اینا درست اما اصلش از اینجا به بعدش بود .
نمیخوای ادامش بدی مقالتو؟ چند تا مثال خفنکاری میزدی.
ظاهرا با این Message ها خیلی کارا میشه کرد نباید به سادگی ازشون رد شد.
و یه مطلب دیگه ، یک مرجع درست حسابی و نسبتا کامل از این Message ها یکی به ما معرفی کنه ، نگید Msdn چون msdn ماله کساییه که حد اقل زبان پیش رو بالای 10 گرفتن Biggrin
اگر مرجع درست حسابی نیست یه پیش نهاد میدم : هر کسی با هر Messag ی که کار کرده بیاد بزاره اینجا در آخر فکنم یه چیزی از توش در بیاد.
راستش فعلا تو پروژم هیچ کاری نمیتونم انجام بدم انشالاه که این پروژه تموم بشه چند تا مقاله دیگه از این دست مینویسم
شما احتیاج به چه مسیجهایی داری مثلا مال listbax با lb_ شروع میشه و هر کاری که انجام میدین پیعامهای مربوط به خودشو داره
کد:
LB_ADDFILE
LB_ADDSTRING
LB_DELETESTRING
LB_DIR
LB_FINDSTRING
LB_FINDSTRINGEXACT
LB_GETANCHORINDEX
LB_GETCARETINDEX
LB_GETCOUNT
LB_GETCURSEL
LB_GETHORIZONTALEXTENT
LB_GETITEMDATA
LB_GETITEMHEIGHT
LB_GETITEMRECT
LB_GETLOCALE
LB_GETSEL
LB_GETSELCOUNT
LB_GETSELITEMS
LB_GETTEXT
LB_GETTEXTLEN
LB_GETTOPINDEX
LB_INITSTORAGE
LB_INSERTSTRING
LB_ITEMFROMPOINT
LB_RESETCONTENT
LB_SELECTSTRING
LB_SELITEMRANGE
LB_SELITEMRANGEEX
LB_SETANCHORINDEX
LB_SETCARETINDEX
LB_SETCOLUMNWIDTH
LB_SETCOUNT
LB_SETCURSEL
LB_SETHORIZONTALEXTENT
LB_SETITEMDATA
LB_SETITEMHEIGHT
LB_SETLOCALE
LB_SETSEL
LB_SETTABSTOPS
LB_SETTOPINDEX
LBN_DBLCLK
LBN_ERRSPACE
LBN_KILLFOCUS
LBN_SELCANCEL
LBN_SELCHANGE
LBN_SETFOCUS
WM_CHARTOITEM
WM_CTLCOLORLISTBOX
WM_DELETEITEM
WM_VKEYTOITEM
واسه هر کدوم یه توضیح کوچک لازمه.
منتظر مقالت هستم.
راستی اینا ثابت هایی هستن که باید تعریف بشن و اصل کار همون مقداریه که موقع تعریف کردنشون بحشون میدیمه ، هان؟ پس تعاریفشون چی میشه؟
من میخام بتونم هر شی که توی ویندوز هست رو باب میلم تغییر بدم (سایز ، رنک ، موقیت و ...) موقع برنامه نویسی چجور میتونی هر بلایی سر مثلا textbox بیاری من میخام این کارو بعد از برنامه نویسی انجام بدم.
افتاد ؟ Biggrin
تعریفشون توی MSDN هست.
اینجام رو ببینید: http://forum.iranled.com/showthread.php?tid=8556
به همین راحتیها هم نیست این message ها بیشتر برای طراحی کامپوننتهای مورد نیاز برای منعطف شدن بیشتر برنامه هست مثلا از progressbar مربوطه که در palet کامپوننتها هست خسته شدین میخواهین یه progressbar با خصوصیات دیگه تعریف کنین و قابلیتهای دیگه یکی از چیزهایی که یه شما کمک میکنه استفاده از همین message ها هست
صفحه‌ها: 1 2