PDA

View Full Version : راهنمای کامپوننت CodeJoke



Mehr@ban
پنج شنبه 23 آذر 1396, 13:11 عصر
ضمن سلام خدمت همه دوستان فعال در تالار اکسس و اساتید محترم

حتما در خصوص کامپوننت کدجوک که بیشترین کاربردش (که طی جستجوهای تالار انجام دادم) در مورد ریبون سازی هست شنیدین!
که با استفاده از این کامپوننت یا اکتیویکس میشه به راحتی ریبون های زیبا و صد البته راستچینی طراحی کرد (فراموش نشه که یکی از قابلیت های این کامپوننت هست)

دوستان انگشت شماری رو دیدم که با این کامپوننت کار کردن من جمله آقایان

صدیقی @AbbasSediqi
بهرامی @alirezabahrami
محمدصالح @mohammadsaleh
و دوستان دیگه

در تاپیکی آقای صدیقی قصد آموزش ساخت و ایجاد ریبون رو داشتن که منصرف (http://barnamenevis.org/showthread.php?451528-Access-%D8%A8%D9%87-%D8%B3%D8%A8%DA%A9-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-(%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%DA%A9%D9%84%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1-%D9%88-%D9%86%D9%85%D8%A7%DB%8C-%DA%A9%D9%84%DB%8C-)&p=2030743&viewfull=1#post2030743)شدن! برای همین موضوع اگر از دوستانی که بالا ذکر شد و یا دیگر دوستان آموزشی در مورد کار با این کامپوننت (برای ساخت ریبون و یا امکانات دیگر این کامپوننت) دارن مثل قدیم در اختیار دیگران هم قرار بدن

Mehr@ban
پنج شنبه 23 آذر 1396, 14:01 عصر
خب البته در تالار vb6 یک اشاراتی به این کامپوننت شده
از جمله تاپیکهای زیر




زیبا سازی برنامه ها با CodeJock (http://barnamenevis.org/showthread.php?t=187072) ‏
ویدئوهای آموزشی ویژوال بیسیک (http://barnamenevis.org/showthread.php?t=248986) ‏

AbbasSediqi
جمعه 24 آذر 1396, 04:09 صبح
با سلام

نمونه در تاپیک ذکر شده قرار دادم

اما توضیح مختصری میدم باز

نخست نصب codejock

بعد هم مطابق این تصویر

147267

وبعد باید در Form_Load برنامه به این شکل عمل کنید

اول تم برای ریبون


CommandBarsGlobalSettings.ResourceImages.LoadFromF ile CurrentProject.Path & "\Styles\Office2010.dll", "Office2010Black.ini"


نکته : فرض بر اینه که فایل Office2010.dll که در محل نصب Codejock قرار داره رو در پوشه Style در همون محل برنامه قرار دادیم

وبعد از اون باید عکس ها یا بهتر بگم آیکون ها رو فراخوانی کنیم

فرض بر اینه که در پوشه res قرار دارند

اول در همون Form_Load باید sub رو فراخوانی کنیم مثلا نام sub رو LoadIcons گذاشتیم

حالا sub رو به این شکل مینویسیم


Private Sub LoadIcons()
CommandBars.Icons.LoadBitmap CurrentProject.Path & "\res\SystemMenuLarge.png", _
Array(ID_FILE_NEW, ID_FILE_OPEN, ID_FILE_SAVE, ID_FILE_SAVE_AS, _
ID_FILE_PRINT, ID_FILE_PRINT_SETUP, ID_FILE_PRINT_PREVIEW, ID_FILE_PREPARE, _
ID_FILE_SEND, ID_FILE_CLOSE, ID_FILE_SEND_MAIL, ID_FILE_SEND_INTERNETFAX), xtpImageNormal



CommandBars.Icons.LoadBitmap CurrentProject.Path & "\res\shiny-gear.png", ID_SYSTEM_ICON, xtpImageNormal

CommandBars.Icons.LoadIcon CurrentProject.Path & "\res\GroupPopup.ico", ID_GROUP_POPUPICON, xtpImageNormal
End Sub


این ها نمونه اند

نکته برای همه کنترل ها باید یک ID در نظر بگیرید که به اون هم میرسیم

درصورت استفاده از Icon از CommandBars.Icons.LoadIcon و در صورت استفاده از فرمت png از CommandBars.Icons.LoadBitmap استفاده میکنیم

ودر کل به ان صورت

دستور لود (آدرس،ای دی،حالت لود شدن)


CommandBars.Icons.LoadBitmap(path,id,imageloadtype )


نکته در صورت استفاده از تصویر مولتی برای چند کنترل
مثل عکس زیر

147268

از array برای id استفاده میکنیم و تمامی کنترل های مربوطه رو به ترتیب قرار گیری در عکس در array میاریم



CommandBars.Icons.LoadBitmap CurrentProject.Path & "\res\SystemMenuLarge.png", _
Array(ID_FILE_NEW, ID_FILE_OPEN, ID_FILE_SAVE, ID_FILE_SAVE_AS, _
ID_FILE_PRINT, ID_FILE_PRINT_SETUP, ID_FILE_PRINT_PREVIEW, ID_FILE_PREPARE, _
ID_FILE_SEND, ID_FILE_CLOSE, ID_FILE_SEND_MAIL, ID_FILE_SEND_INTERNETFAX), xtpImageNormal

AbbasSediqi
جمعه 24 آذر 1396, 04:28 صبح
بعد باید در همون Form_Load تابع CreateRibbon رو قرار بدیم



نکته باید id های کنترل ها رو به صورت const نوسته و در یک مدل قرار بدید

مثال

ublic Const IDR_CNTR_INPLACE = 6
Public Const IDD_ABOUTBOX = 100
Public Const IDP_OLE_INIT_FAILED = 100
Public Const IDP_FAILED_TO_CREATE = 102
Public Const IDR_MAINFRAME = 128
Public Const IDR_SMALLICONS = 128


و حالا این تابع CreateRibbon رو به این شکل مینویسیم

Private Sub CreateRibbon()


End Sub


بعد در همین جا

اول ریبون رو تعریف میکنیم


Dim RibbonBar As RibbonBar
Set RibbonBar = CommandBars.AddRibbonBar("The Ribbon")
RibbonBar.EnableDocking xtpFlagStretched


وبعد متغییر ها کنترل ها رو


Dim ControlFile As CommandBarPopup, ControlTheme As CommandBarPopup, ControlAbout As CommandBarControl, ControlPrint As CommandBarPopup
Dim PopupBar As CommandBar


و بعد ست کردن متغییر ( این برای منوی اصلیه ، همون منوی فایل در آفیس که روش کلیک میکنید یه منو باز میشه برای فایل جدید و save و ...)


Set ControlFile = RibbonBar.AddSystemButton()


و بعد اطلاعات منوی اصلی


ControlFile.IconId = ID_SYSTEM_ICON
ControlFile.Caption = "&AbbasSediqi"
ControlFile.Style = xtpButtonIconAndCaption


و بعد کنترل های منوی اصلی

With ControlFile.CommandBar.Controls
.Add xtpControlButton, ID_FILE_NEW, "&New"
.Add xtpControlButton, ID_FILE_OPEN, "&Open..."
.Add xtpControlButton, ID_FILE_SAVE, "&Save"
.Add xtpControlButton, ID_FILE_SAVE_AS, "Save &As..."
Set ControlPrint = .Add(xtpControlSplitButtonPopup, ID_FILE_PRINT, "&Print")
ControlPrint.BeginGroup = True
Set PopupBar = CommandBars.CreateCommandBar("CXTPRibbonSystemPopupBarPage")
Set ControlPrint.CommandBar = PopupBar
Set Control = PopupBar.Controls.Add(xtpControlLabel, 0, "Preview and print the document")
Control.Width = 296
Control.DefaultItem = True
Control.Style = xtpButtonCaption
PopupBar.DefaultButtonStyle = xtpButtonCaptionAndDescription
PopupBar.SetIconSize 32, 32
PopupBar.ShowGripper = False



PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT, "Print Pre&view"
PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT_SETUP, "Pr&int Setup..."
PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT_PREVIEW, "Print Pre&view"
.Add xtpControlButton, ID_FILE_PREPARE, "Pr&epare"
.Add xtpControlButton, ID_FILE_SEND, "Sen&d"
.Add xtpControlButton, ID_FILE_PREPARE, "P&ublish"
.Add xtpControlButton, ID_FILE_CLOSE, "Close"


Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarListCaption")
Control.Caption = "Recent Documents"
Control.BeginGroup = True
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarListItem")
Control.Caption = "Form_Form1.frm"
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarButton")
Control.Caption = "Opt&ions"
Control.Id = ID_FILE_OPTIONS
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarButton")
Control.Caption = "E&xit Sample"
Control.Id = ID_APP_EXIT
.AddControl Control



ControlFile.CommandBar.SetIconSize 32, 32
End With


و در کل به این شکل میشه


Private Sub CreateRibbon()
Dim RibbonBar As RibbonBar
Set RibbonBar = CommandBars.AddRibbonBar("The Ribbon")
RibbonBar.EnableDocking xtpFlagStretched


Dim ControlFile As CommandBarPopup, ControlTheme As CommandBarPopup, ControlAbout As CommandBarControl, ControlPrint As CommandBarPopup
Dim PopupBar As CommandBar

Set ControlFile = RibbonBar.AddSystemButton()
ControlFile.IconId = ID_SYSTEM_ICON
ControlFile.Caption = "&AbbasSediqi"
ControlFile.Style = xtpButtonIconAndCaption
With ControlFile.CommandBar.Controls
.Add xtpControlButton, ID_FILE_NEW, "&New"
.Add xtpControlButton, ID_FILE_OPEN, "&Open..."
.Add xtpControlButton, ID_FILE_SAVE, "&Save"
.Add xtpControlButton, ID_FILE_SAVE_AS, "Save &As..."
Set ControlPrint = .Add(xtpControlSplitButtonPopup, ID_FILE_PRINT, "&Print")
ControlPrint.BeginGroup = True
Set PopupBar = CommandBars.CreateCommandBar("CXTPRibbonSystemPopupBarPage")
Set ControlPrint.CommandBar = PopupBar
Set Control = PopupBar.Controls.Add(xtpControlLabel, 0, "Preview and print the document")
Control.Width = 296
Control.DefaultItem = True
Control.Style = xtpButtonCaption
PopupBar.DefaultButtonStyle = xtpButtonCaptionAndDescription
PopupBar.SetIconSize 32, 32
PopupBar.ShowGripper = False



PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT, "Print Pre&view"
PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT_SETUP, "Pr&int Setup..."
PopupBar.Controls.Add xtpControlButton, ID_FILE_PRINT_PREVIEW, "Print Pre&view"
.Add xtpControlButton, ID_FILE_PREPARE, "Pr&epare"
.Add xtpControlButton, ID_FILE_SEND, "Sen&d"
.Add xtpControlButton, ID_FILE_PREPARE, "P&ublish"
.Add xtpControlButton, ID_FILE_CLOSE, "Close"


Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarListCaption")
Control.Caption = "Recent Documents"
Control.BeginGroup = True
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarListItem")
Control.Caption = "Form_Form1.frm"
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarButton")
Control.Caption = "Opt&ions"
Control.Id = ID_FILE_OPTIONS
.AddControl Control

Set Control = CommandBars.CreateCommandBarControl("CXTPRibbonControlSystemPopupBarButton")
Control.Caption = "E&xit Sample"
Control.Id = ID_APP_EXIT
.AddControl Control



ControlFile.CommandBar.SetIconSize 32, 32
End With
End Sub

AbbasSediqi
جمعه 24 آذر 1396, 04:31 صبح
این هم کل یه نمونه از خود codejock

تا بقیه رو هم توضیح بدم



فعلا یا حق

AbbasSediqi
جمعه 24 آذر 1396, 04:41 صبح
این هم نمونه کار


147274
یا حق