look like microsoft

20

Upload: -

Post on 14-Apr-2015

41 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Look Like Microsoft
Page 2: Look Like Microsoft

Look Like Microsoft

Using Code Jock Tools

Visual Basic v 6

Page 3: Look Like Microsoft

Mr.Mohamed Ragab Ali

Page 4: Look Like Microsoft

...............................................................المؤلف • ......................................................عن الكود جوك •• repone Bar ......................................................

• Message Bar ....................................................

• Shortcut Bar .....................................................

• Task panel .......................................................

الخاتمة •

Page 5: Look Like Microsoft

ا ؤلف

Egypt Soft TeaM

_

[email protected]

pro.Com-www.Eg

Page 6: Look Like Microsoft

Mcsd

www.codejock.com

Page 7: Look Like Microsoft

Repone Bar التوبیبات والقوائم وھى عبارة انشاء command Barھى احد خصائص اداة

بالضبط نفس الشكل تماما ومن ثم ٢٠٠٧مثل القوائم الموجودة فى برنامج الورد اجراء العملیات واالحداث على تلك التوبیبات والقوائم كما یتطلب برنامجك ولعل

: مثاال كما بالشكل االتى

٢٠٠٧شاھدت معى كیف تغیر شكل الفورم والقوائم الى شكل االوفیس

:طریقة االعداد command Bars االداة المستخدمة فى البرمجة ھى اداة

القوائم الرئیسیة والتبویبات والقوائم الفرعیة للتبویبات والرئیسیة( البد من تعریف الثوابت : اوال ) قم بأضافة مودیول من ثم قم بتعریف الثوابت ھكذا :رمز

Public Const ID_TAB_HOME = 1 Public Const ID_GROUP_FILE = 2 Public Const ID_FILE_NEW = 3 Public Const ID_FILE_OPEN = 4 Public Const ID_FILE_close = 5

شرح وتوضیح الكود السابق وذلك ھى التوبیب الرئیسى home تعریف الثوابت file تعریف المجموعات الرئیسیة new _ open _ close تعریف المجموعات الفرعیة

Page 8: Look Like Microsoft

: ثانیا فى الحدث فورم لود :رمز

LoadIcons CreateRibbonBar CommandBarsGlobalSettings.Office2007Images = App.Path & "\Styles\Office2007Black.dll" CommandBars.PaintManager.RefreshMetrics CommandBars.RecalcLayout '------------------- RibbonBar.EnableFrameTheme CommandBars.EnableCustomization True

شرح الكود اوال عمل لود لالیكونات التى ستأخدھا الثوابت الریئیسیة والتوبیبات والقوائم الفرعیة ثانیا حدث انشاؤ الریبون بار

وذلك مستخدما ٢٠٠٧ك من االوفیس ودى مش الزم اوى دى عشان اعطى شكل الریبون االصدار البال: ثالثا یعنى لو مكتبتش ھیعطیك االصدار اللبنى office2007black.dll مكتبة

فى الحدث: ثالثا Private Sub CreateRibbonBar() :رمز

Dim TabHome As RibbonTab Dim GroupFile As RibbonGroup Dim RibbonBar As RibbonBar Dim ControlFile As CommandBarPopup Dim Control As CommandBarControl

على انھ تبویب فى الریبون بار home اعالن عن التوبیب واعالن ایضا عن المجموعات الرئیسیة واعالن عن الریبون بار حدث انشاء الریبون والتوبیبات والرئیسیة :رمز

Set RibbonBar = CommandBars.AddRibbonBar("The Ribbon") RibbonBar.EnableDocking xtpFlagStretched Set ControlFile = RibbonBar.AddSystemButton() ControlFile.IconId = ID_SYSTEM_ICON

حدث انشاء القائمة الرئیسیة :رمز

ControlFile.CommandBar.Controls.Add XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_NEW, "&New", False, False ControlFile.CommandBar.Controls.Add XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_OPEN, "&Open...", False, False

Page 9: Look Like Microsoft

Set Control = ControlFile.CommandBar.Controls.Add(XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_close, "& close", False, False)

حدث انشاء التوبیبات الفرعیة :رمز

Set TabHome = RibbonBar.InsertTab(0, "&Home") TabHome.Id = ID_TAB_HOME Set GroupFile = TabHome.Groups.AddGroup("File", ID_GROUP_FILE) GroupFile.Add XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_NEW, "&New", False, False GroupFile.Add XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_OPEN, "&Open", False, False GroupFile.Add XtremeCommandBars.XTPControlType.xtpControlButton, ID_FILE_close, "&Close", False, False

او بأستخدام المسارات عن طریق االداة نفسھا image list نأتى الى االیكونات وھناك طریقتین اما بأستخدامولكن ھقولھا سھلة جدا انت ھتاخد البرامیتر بتاع الثابت وتكتبھ على انا مبستعملھاش ھناك image listو tag image list للصورة فى الطریقة التانیة ()Private Sub LoadIcons فى الحدث :رمز

CommandBars.Options.UseSharedImageList = False CommandBars.Icons.LoadBitmap App.Path & "\res\LargeIcons.png", Array(ID_FILE_NEW, ID_FILE_OPEN, ID_FILE_SAVE, ID_EDIT_PASTE, ID_EDIT_FIND, ID_FILE_PRINT, ID_FILE_close, ID_VIEW_NORMAL, ID_FILE_PRINT_PREVIEW, ID_VIEW_FULLSCREEN, ID_WINDOW_NEW, ID_WINDOW_ARRANGE, ID_WINDOW_SWITCH), XtremeCommandBars.XTPImageState.xtpImageNormal CommandBars.Icons.LoadBitmap App.Path & "\res\shiny-gear.png", ID_SYSTEM_ICON, XtremeCommandBars.XTPImageState.xtpImageNormal Dim ToolTipContext As ToolTipContext Set ToolTipContext = CommandBars.ToolTipContext ToolTipContext.Style = xtpToolTipOffice2007

مثال new نأتى ال خر حاجة وھى ازاى انفذ الحدث على المجموعات والتبویبات بمعنى لو عایز اما اضغط علىاو یطلع لیا رسالة والطریقة سھلة جدا ٢یفتح لیا فورم

select case باستخدام دالة :رمز

Page 10: Look Like Microsoft

select case control.id

وبعدین اخد من المودیول البارمتر بتاع الحدث ولیكن :رمز

ID_FILE_NEW

ھیكون كدا :رمز

case ID_FILE_NEW : form2.show

:رمز

end select

قم بتحمیل ایضا مثال عملى مفتوح المصدر الستخدام الخاصیھ من الرابط االتى

h p://www.4shared.com/file/12975245...Barsv1310.html

Page 11: Look Like Microsoft

Message Bar ھل رأیت القائمة المنسدلة التى تأتى الیك عند استالم رسالھ عبر برید الھوت میل

التى تظھر من جانب الساعة فى السیستم تراى یمكنك ایضا ان تجعل برنامجك messageboxیظھر مثل ھذه الرسالھ فى شكل تنبیھات للمستخدم او بدال من دالھ

: كل االتى او بالشكل واالستخدام الذى تریده كما بالش

: طریقة االعداد

PopupControl بعد استدعاء االداة للمشروع قم باختیار اداة حیث ان ھذه االداة تحمل ادوات كثیرة بعد ذلك قم بكتابة الكود التالى وھو صب انشاء االداة :رمزSub SetMSNTheme(Popup As XtremeSuiteControls.PopupControl) Dim Item As PopupControlItem Popup.RemoveAllItems Popup.Icons.RemoveAll Set Item = Popup.AddItem(5, 50, 160, 100, "welcome to egypt soft team system") Item.TextAlignment = DT_CENTER Or DT_WORDBREAK

Page 12: Look Like Microsoft

Item.CalculateHeight Item.Id = 1 Popup.VisualTheme = xtpPopupThemeOffice2007 End Sub

الكود السابق للتوضیح یحمل االتى

تعریف لقائمة االداة الرئیسیة واالیكون ومحتوى الرسالة وكذلك نوع الثیم وشكل الرسالة وضبط حجم الكالم فى الرسالة

الخطوة التالیة نأتى الى صب الحدث على الرسالة یعنى لو عایز لما تضغط على الرسالة یظھر لیك شئ او تفتح موقع مثال :رمزPrivate Sub PopupControl1_ItemClick(ByVal Item As XtremeSuiteControls.IPopupControlItem) If Item.Id = 1 Then PopupControl1.Close ShellExecute Me.hWnd, vbNullString, "http://WwW.EG-PRO.CoM", vbNullString, vbNullString, 1 End If If Item.Id = 3 Then End End Sub

عد ذلك نقوم بوضع كوماند على الفورم اوزى ما انت عایز االداة تظھر امتى ممكن عن طریق الكود التالى الظھار الرسالة تایمر او انت وطلبك وضغط

:رمز PopupControl1.Animation = xtpPopupAnimationSlide PopupControl1.AnimateDelay = 256 PopupControl1.ShowDelay = 2000 PopupControl1.Transparency = 200 Call SetMSNTheme(PopupControl1) PopupControl1.Show

:تحمیل مثال عملى مفتوح المصدر للمبتدئین

h p://www.4shared.com/file/13320849...45/exmple.html

:تحمیل مثال اخر للمحترفین

h p://www.4shared.com/file/145987005/ef2e4331/PopupControl.html

Page 13: Look Like Microsoft

Shortcut Bar بمختلف windowsالموجودة داخل اى نظام من انظمة تشغیل startافتح قائمة

اصدارتھا ستجد قائمة على یسار القائمة االساسیھ تحمل اختصارات اجعل برنامجك یحتوى على ھذه القائمة مما یزید الشكل جماال واكثر فعالیھ فى

كما بالصورة الموضحة للقائمة . االستخدمات المختلفة

ویكون تطبیقھا داخل المشروع ھكذا

Page 14: Look Like Microsoft

:طریقة االعداد

المستخدمة وكالعادة طبعا اداة من ادوات اوال االداة code jock Codejock.ShortcutBar.v13.1.0.ocx الشرح سأقوم بعمل شرح الیكم ابسط ما یكون اراعى فى ذلك ان فیكم مبتدئین یریدون ایضا تعلم اعداد تلك االدوات وھذا من حقھم المنتدى ھنا مفتوح للمبتدئین . والمحترفین والخبراء الشرح combonent راجع الدورس السابقة من كیفیة ادارج االداة من واعتقد اننا ندرك كل ذلك ثم قم بأدراج االداة على الفورم فى منطقة التصریحات العامة او داخل مودیول قم بكتابة الثوابت :رمزOption Explicit Const SHORTCUT_INBOX = 1 Const SHORTCUT_CALENDAR = 2 Const SHORTCUT_CONTACTS = 3 Const SHORTCUT_TASKS = 4 Const SHORTCUT_NOTES = 5 Const SHORTCUT_FOLDER_LIST = 6 Const SHORTCUT_SHORTCUTS = 7 Const SHORTCUT_JOURNAL = 8 Const SHORTCUT_Mybook = 9 Const SHORTCUT_MYTEAM = 10 Const SHORTCUT_MYID = 11 Const SHORTCUT_EBOKS = 12 Const SHORTCUT_IDEA = 13

اعتقد ان الموضوع ما فیھ شئ صعب فقط كتابة الثوابت لالختصارات التى سنقوم بأدراجھا فى short cut bar قائمة formload الخطوة التالیة ستكون فى الحدث

حجز متغیر لیكون: اوال ShortcutBarItem ھنا حدث االختصار itemو :رمز Dim Item As ShortcutBarItem

Page 15: Look Like Microsoft

بعد ذلك حدث انشاء االختصارات وستكون حدث كل اختصار على حدا Set Item = wndShortcutBar.AddItem(SHORTCUT_INBOX, "Messge", 0) :رمز Set Item = wndShortcutBar.AddItem(SHORTCUT_CALENDAR, "natiga", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_CONTACTS, "contact", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_TASKS, "tsk", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_NOTES, "rrd", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_FOLDER_LIST, "mmm", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_SHORTCUTS, "nnn", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_JOURNAL, "wwww", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_Mybook, "kkk", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_MYTEAM, "ffff", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_MYID, "qqqq", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_EBOKS, "llll", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_IDEA, "bbb", 0) Set Item = wndShortcutBar.AddItem(SHORTCUT_PRODUCT, "www", 0

نوضح الكود السابق ربما احد ما لم یفھم Set Item

اى اختصار او حدث item انشئ----------------------------------

wndShortcutBar.AddItem wndShortcutBar

سمتھا من الخصائصدى اسم االداة زى ما انا من احداث االداة item ھنا اخبره فى حدث اضافة

-------------------------------------- (SHORTCUT_CONTACTS, "contact", 0)

كما صرحنا عنھ item ثابت

SHORTCUT_CONTACTS

االسم المشار الیھ والذى ستشاھده بالفورم contact

٠مضافا الیھ البارمتر

الى االختصارات والطریقة مفیش اسھل من كدا icons ذلك نأتى الضافةبعد ستجدھا فى image list قم بأدراج اداة

microsoft windows common control 6 الیھ مع مراعاة اختبار صور خفیفة وقلیلة المساحة image قم باضافة

load حتى ال یصبح البرنامج ثقیال فى عملیة نكتب رقم الثابت حتى یأخد الصورة التى وضعنھا لھ index ىنضعط الصورة وف

Page 16: Look Like Microsoft

اخر مرحلة وھى تطبیق الحدث على االختصارات اى عندما اضغط على اختصار او كما ترید form2.show معین ینفذ شئ معین ك لالداة نفسھا اضغط دبل كلیك على االداة لتفتح لك select وھى كاالتى فى حدث

لكود التالى وھو سھل جدا سیكون بأستخدام الدالة المعروفة صفحة الكود واكتب ا select case P :كود :رمزrivate Sub wndShortcutBar_SelectedChanged(ByVal Item As XtremeShortcutBar.IShortcutBarItem) Select Case Item.Id Case SHORTCUT_CALENDAR: MsgBox "Data" End Select End Sub

كما شرحت فى االدوات select الجملة ما فیش ابسط من كدا ھنا بأستخدام جملة للثابت المعین وھو على سبیل المثال item.id السابقة وعن طریقSHORTCUT_CALENDAR اخرج لى رسالة ستجدھا ضمن image list وكذلك بأستخدام اداة icons اما عن ادراجmicrosoft windows common control 6 formload وفى الحدث :كود :رمز wndShortcutBar.AddImageList imlShortcutBarIcons

:لتحمیل مثال عملى مفتوح المصدر http://www.4shared.com/file/13379646...T_CUT_BAR.html

Page 17: Look Like Microsoft

Task Panel وعندما ترى الصورة ستتعرف windows xpھو مایطلق علیھ مربع عملیات

:على ما اقصده مباشرة

بامكانك بدال من استخدام التول بار واالدوات القدیمة جعل االحداث والقوائم مثل .برنامجك ھذه الخاصیھ فى

:طریقة االعداد code jock احد ادوات taskpanel.ocx االداة المستخدمة اداة الشرح ان شاء اهللا ھشرح لیكم على مجموعة واحدة عشان السھولة اوال ھنعمل اعالن عن التالت ثوابت من المجموعة الرئیسیة اما فى مودیول او منطقة التصریحات العامة :رمز

Page 18: Look Like Microsoft

Const Tsk_Hidecontents = 19 Const Tsk_AddOrRemaove = 20 Const Tsk_Share = 21

ودول ایھ عشان نكون موضحین عندك مثال السیتم تسك متقسم زى ما انت عایز مثال المجموعة االولى نسمیھا وھكذا add remove و hidcontents ھیكون فیھا المتفرعات دى مثال system information مثال

فى الحدث فورم لود ھنحجز متغیر باسم االداة عشان تتنفذ الن انت متحطھاش على الفورم وخالص ال : ثانیا لیھا كود تنفیذ :رمزDim group As TaskPanelGroup

وبعد كدا نحجز متغیر باالیتم عشان تنفیذ الحدث :رمزDim Item As TaskPanelGroupItem

ة ولیكن ھنسمیھاوبعدین ننشأ اول مجموعة رئیسی system taskes او زى ما تحب :رمزSet Groub = Tsk.Groups.Add(0, "System Tasks")

وبعد كدا ھنخصص المجموعة عشان یكون فیھ فواصل بالكود دا :رمزGroub.Special = True

ك عادى او زى ما انت عایز تكتب فى برنامج add or remove نیجى النشاء التفریعات اللى ھیا زى with وذلك باستخدام دالة :رمزWith Groub.Items .Add Tsk_Hidecontents, "show f2", xtpTaskItemTypeLink, 1 .Add Tsk_AddOrRemaove, "show f3", xtpTaskItemTypeLink, 2 .Add Tsk_Share, "show f4", xtpTaskItemTypeLink, 3 End With End Sub

نشرح الكود عشان نوضح بردوا اوال فى السطر االول بقولھ بواسطة االیتم الى انشأتھ للمجموعات ضیف لیا دى انا اختصرت اسم االداة من الخصائص tsk و tsk_hidecontents مھمة او ایتم واخد الثابت١ونوعھ لینكر واخد البارمتر show f2 واسمھ على الفورم وھكذا نفس السطرین التالیین یظھر لیا فورم او یطلع رسالة او ینفذ كود show f2 نیجى بئا لتنفیذ الحدث ازاى اخلى مثال اما اضغط على select case معین انا عایزه بسیطة جدا فى حدث االداة باستخدام دالة

Page 19: Look Like Microsoft

:رمزPrivate Sub Tsk_ItemClick(ByVal Item As XtremeTaskPanel.ITaskPanelGroupItem) Select Case Item.Id Case Tsk_Hidecontents: Form2.Show Case Tsk_Share: Form4.Show Case Tsk_AddOrRemaove: Form3.Show End Select End Sub

لتحمیل مثال عملى مفتوح المصدر

h p://www.4shared.com/file/12259764...tsk_panel.html

Page 20: Look Like Microsoft

الخاتمة

ارجو ان اكون قد وفقنى المولى عز وجل فى سرد الشرح بأبسط الصور الننا نعلم ان فینا مبتدئین ومتوسطین ومحترفین وخبراء حتى نجعل مادة الكتاب یستفید منھا

وعرفانا بالجمیل لكل من تعلمت منھ ولو ذرات من العلم . الجمیع بمختلف الخبرات كر اهللا من الیشكر الناس اقدم خالص الشكر لكن لھا بداخلى معنى كبیرا جدا والیش

اوال للفریق المصرى االستاذ كریم الزھیرى واالستاذ وائل عابد واالستاذ معتز محمد وكما اوجھ الشكر لكل اعضاء ومشرفین واداریین موقع فیجول بیسك للعرب وكل

صام من قدم العلم لى ولغیرى من المسلمین وغیر المسلمین واشكر ایضا االستاذ ع. محمد ونسأل اهللا عز وجل ان یتقبل منا صالح اعمالنا

Mr.Mohamed Ragab Ali