PDA

View Full Version : عوض کردن شکل کنترلهای استاندارد vb



Andy
شنبه 15 شهریور 1382, 10:54 صبح
سلام به تمامی دوستان عزیز
من خیلی وقته که با این مشکل روبرو هستم که چطور میشه شکل کنترلهای استانداردی رو که vb در اختیار ما میگذاره رو عوض کرد اگه کسی اینکارو کرده لطفا با ذکر مثال یا سورس کمک کنه
قبلا از کمک شما ممنونم .

linux
شنبه 15 شهریور 1382, 14:10 عصر
دکتر!
کنترل های استاندارد ویبی محدودیتهایی دارند!
شکلشون تقریبا همونی است که می‌بینی
یه چند نفری نشستن کنترل جدید درست کردن
بگردی پیدامی‌کنی
ولی اکثرا پولی هستند

Andy
یک شنبه 16 شهریور 1382, 08:22 صبح
خوب پروفسور اینو که خودمم میدونستم :x منظور من اینه که با استفاده از کنترلهای استاندارد میشه کنترلهای جدید با طرح و خصوصیتهای جدید ایجاد کرد ?(activex) ضمنا اینو بدون که
(Impossible is Impossible) 8)

Doctor Sinohe
یک شنبه 16 شهریور 1382, 08:45 صبح
پاسخ پرسش شما
اری
است

Andy
یک شنبه 16 شهریور 1382, 16:01 عصر
خوب دکتر جون این آری رو با یه دونه مثال برام به یقین تبدیل کن دیگه

Doctor Sinohe
یک شنبه 16 شهریور 1382, 17:41 عصر
سلام
در زیر یک مراحل ایجاد یک کنترل Activex را نوشته ام
دقت کنید که این برنامه یک برنامه صرفا تمرینی است و هیچ کاربری خاصی ندارد
این کنترل activex یک دکمه و برچسب به فرم اضافه کرده که با زدن دکمه عبارتی در برچسب ظاهر میشود

مراحل زیر را دنبال کنید
1. ابتدا یک پروژه ActiveX control را باز کنید
2. بروی usercontrol1 یک دکمه (command button) و یک برچسب (label) ایجاد کنید بدون اینکه نام آنها را تغییر دهید
3. دقت کنید که اندازه usercontrol1 همان اندازه کنترل اکتیواکس شما روی فرم است
4. حالا کد زیر را تایپ کنید

Option Explicit

Private Sub Command1_Click()
Label1.Caption = "Hello"
End Sub

Private Sub UserControl_Initialize()
Label1.Caption = ""
Command1.Caption = "Test"
End Sub
5.از منوی file گزینه Make priject1.ocx … را انتخاب کنید و ان را کامپایل کنید (ان را به صورت ocx کامپایل کنید )

5. این پروژه را بسته و یک پروژه standard exe ایجاد کنید
6. از منوی project گزینه components را انتخاب کنید
7. از پنجره ظاهر شده دکمه browse را انتخاب کرده مسیر کنترل کامپایل شده را تعیین کنید و سپس کنار نام ان تیک کرده از این پنجره خارج شوید
8. کنترل را به فرم اضافه کرده برنامه را اجرا کنید

امیدورام همواره موفق باشید

Andy
دوشنبه 17 شهریور 1382, 10:26 صبح
دستت درد نکنه دکترجون ولی من هنوز به جوابم نرسیدم تو این مثالت هم چیزی راجع به عوض کردن شکل کنترل ندیدم اگه بازم جوابت آری هستش کمکت رو از ما با ارائه یه مثال دریغ نکن
قربان تو

Doctor Sinohe
دوشنبه 17 شهریور 1382, 12:24 عصر
دستت درد نکنه دکترجون ولی من هنوز به جوابم نرسیدم تو این مثالت هم چیزی راجع به عوض کردن شکل کنترل ندیدم اگه بازم جوابت آری هستش کمکت رو از ما با ارائه یه مثال دریغ نکن
قربان تو
شما بمن لطف دارید ممنون :oops: :oops: :oops:

و اما جواب مشکل شما

دقت کنید در عملکرد خصیصه‌های Usercontrol
خصیصه name که به صورت پیش فرض usercontrol1است نام کنترل شما را که در روی فرم اصلی قرار میگیرد مشخص میکند
خصیصه ToolboxBitmap ایکونی که در نوار ابزار برنامه اصلی تان قرار میگیرد مشخص میکند که فکر کنم این برای شما مورد نیاز باشد

اگر بخواهید شکل یک کنترل را عوض کنیم بهتر است در یک پروژه activeX control بروی usercontrol تنها همان کنترل را قرار داده بعد از تنظیم اندازه و انتخاب ایکون دلخواه ان را با نام همان کنترل کامپایل کنید

موفق باشید

Andy
سه شنبه 18 شهریور 1382, 09:28 صبح
سلام به تمامی دوستان عزیز
فکر میکنم دوستان درست متوجه منظور من نشده اند . منظور من این است که چطور میشه که برای یه کنترل مثل commandbutton حاشیه چهار گوش آنرا به هر شکلی (مثلا بیضی یا ...) تبدیل کنیم .

Doctor Sinohe
سه شنبه 18 شهریور 1382, 19:27 عصر
سلام به تمامی دوستان عزیز
فکر میکنم دوستان درست متوجه منظور من نشده اند . منظور من این است که چطور میشه که برای یه کنترل مثل commandbutton حاشیه چهار گوش آنرا به هر شکلی (مثلا بیضی یا ...) تبدیل کنیم .

با سلام
متاسفانه :( من فکر کردم منظور شما از این بحث عوض کردن شکل کنترل در ToolBox است
پاسخ پرسش فعلی شما
آری
است
این کار توسط همان کنترل اکتیواکس انجام می شود . ولی خوب احتیاج به برنامه نویسی زیادی دارد میتوانی برای مثال از یک icon به شکل همان کنترل مثلا دکمه ایجاد کنی بعد شکلش را با نرم افزار های گرافیکی به دایره مبدل کنی بعد روی usercontrol فرم اکتیواکس یک دکمه بگزاری و ان را پنهان کنی( Visable = False ) بعد ایکون ساخته شده را روی فرم بگزاری و بعد ان دو را با کد نویسی به هم ربط دهی یا اصلا دکمه را نزاری و تنها برای همان ایکون کد بنویسی این کد ممکن است شامل تغییر شکل به هنگام فشار دادن همانند کنترل اصلی باشد

موفق باشید

hassanzbk
چهارشنبه 30 مرداد 1387, 02:49 صبح
با سلام
حل این فرموده شما احتیاج به هزینه داره !!!!! هزینه : وقت برای یادگیری API و Subclassing و
OWNERDRAW