Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| KGF_dll - nouvelles versions | |
|
+13The Gamer Nardo26 silverman Minibug Pedro mindstorm pascal10000 Jicehel papydall Jean Claude JL35 Yannick Klaus 17 participants | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 0:48 | |
| On s' est croisé et J' ai simplifié en enlevant les appels pour les images. J' ai placé un mémo dans un onglet et cela rend le truc plus visible. - Code:
-
Tab% = dll_call1("CreateTabObject",handle(TB_Pan%)) Tab_res% = dll_call6("TabObjectFunction",Tab%,5,0,2,0,0) Tab_res% = dll_call5("TabObjectGeometry",Tab%,205,5,width(TB_Pan%)-210,250)
Ongle1$ = "Main.bas" Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle1$)) no%=no%+1 : Mem%=no% Memo no% : top no%,5 : left no%,5 Tab_res% = dll_call3("AddObjectToTabObjectTab",Tab%,1,handle(Mem%))
Ongle2$ = "VAR.bas" Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle2$))
Ongle3$ = "LAB.bas" Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle3$))
Ongle4$ = "GUI.bas" Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle4$))
Ongle5$ = "FCT.bas" Tab_res% = dll_call2("AddTabObjectTab",Tab%,adr(Ongle5$)) Je n' ai pas trop le choix car la toolbar créée ce panel et tout les objets en deviennent enfants... Edit : je ne sais pas pourquoi, je me suis mis en tête que la toolbar avait impérativement besoin d' un container mais je me rends compte maintenant que non. Re Edit : Les icônes dans les onglets ne me serviront pas sur ce Tab là, et je ne vois pas trop comment imager ces onglets d' ailleurs, mais dans un autre qui lui serait dans un panel imposé... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 1:19 | |
| En tout cas, c'était une erreur. Recharge la Dll, et modifie la section correspondante de ton GUI.bas de la manière suivante: - Code:
-
PC1% = dll_call1("CreateTabObject",handle(TB_Pan%)) Tab_res% = dll_call6("TabObjectFunction",PC1%,5,0,2,0,0) Tab_res% = dll_call5("TabObjectGeometry",PC1%,5,5,width(TB_Pan%)-10,250) Tab_res% = dll_call6("TabObjectFunction",PC1%,7,0,IL1%,0,0) s$ = "Main.bas" Tab_res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) s$ = "VAR.bas" Tab_res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) s$ = "LAB.bas" Tab_res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) s$ = "GUI.bas" Tab_res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) s$ = "FCT.bas" Tab_res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) Act%=1
Et le TabObject apparaîtra correctement dans le Panel. Mais en effet, cet objet n'a pas besoin d'un panel. Cependant, j'ai corrigé le bug, comme tu le verras aussi dans le post suivant ! Je suis content du retour d'information qui me permet de lever des problèmes ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 1:22 | |
| Nouvelle version: KGF.dll V4.14 du 22/01/2015Nouveautés: - correction d'un bug de positionnement du TabObject dans un Panel ou similaireModules modifiés: KGF.dllLes sources sont à jour. La doc suivra. Le programme de démo le montre: le TabObject de gauche sera placé dans un Panel: - Code:
-
' test PageControl.bas
label create1, create2, delete1, delete2 label change_R1, change_G1, change_B1, couleur_1, police_1, activer_1 label change_R2, change_G2, change_B2, couleur_2, police_2, activer_2
dim res%, s$, rgb%, i%, sz%, att%, ong%, act1%, act2%
dim PC1%, PC2%, PC1pages%(3), PC2pages%(2), IL1%, IL2%
height 0,760
button 1 : top 1,10 : left 1, 10 : width 1,20 : caption 1,"+" : on_click 1,create1 hint 1,"Créer PageControl 1" button 2 : top 2,10 : left 2,310 : width 2,20 : caption 2,"+" : on_click 2,create2 hint 2,"Créer PageControl 2"
button 3 : top 3,10 : left 3, 30 : width 3,20 : caption 3,"x" : on_click 3,delete1 hint 3,"Supprimer PageControl 1" button 4 : top 4,10 : left 4,330 : width 4,20 : caption 4,"x" : on_click 4,delete2 hint 4,"Supprimer PageControl 2" combo 5 : top 5,10 : left 5,60 : width 5,130 item_add 5,"Onglets standard" item_add 5,"Onglets symmétriques" item_add 5,"Onglets rectangulaires" combo 6 : top 6,10 : left 6,360 : width 6,130 item_add 6,"Onglets standard" item_add 6,"Onglets symmétriques" item_add 6,"Onglets rectangulaires"
combo 101 : top 101,420 : left 101,10 item_add 101,"1=Color" item_add 101,"2=BorderColor" item_add 101,"3=SelectedColor" item_add 101,"4=UnselectedColor" item_add 101,"5=ModifiedColor" item_add 101,"6=TabBorderColor" item_add 101,"7=TabColor" item_add 101,"8=FontColor" item_add 101,"9=SelectedFontColor" combo 113 : top 113,420 : left 113,170 : width 113,90 item_add 113,"Tous onglets" item_add 113,"Onglet 1" item_add 113,"O. 2" item_add 113,"O. 3" alpha 102 : top 102,450 : left 102,10 : caption 102,"R:" edit 103 : top 103,450 :left 103,30 : width 103,40 : text 103,0 scroll_bar 104 : top 104,450 : left 104,80 min 104,0 : max 104,255 : position 104,0 on_change 104,change_R1 alpha 105 : top 105,480 : left 105,10 : caption 105,"G:" edit 106 : top 106,480 :left 106,30 : width 106,40 : text 106,0 scroll_bar 107 : top 107,480 : left 107,80 min 107,0 : max 107,255 : position 107,0 on_change 107,change_G1 alpha 108 : top 108,510 : left 108,10 : caption 108,"B:" edit 109 : top 109,510 :left 109,30 : width 109,40 : text 109,0 scroll_bar 110 : top 110,510 : left 110,80 min 110,0 : max 110,255 : position 110,0 on_change 110,change_B1 picture 111 : top 111,540 : left 111,10 : height 111,30 color 111,0,0,0 button 112 : top 112,570 : left 112,10 : caption 112,"Appliquer couleur" on_click 112,couleur_1 : width 112,150
combo 120 : top 120,600 : left 120,10 : font_names_load 120 combo 121 : top 121,600 : left 121,160 : width 121,50 item_add 121,"8" item_add 121,"10" item_add 121,"12" item_add 121,"14" check 122 : top 122,630 : left 122,10 : caption 122,"B" : font_bold 122 check 123 : top 123,630 : left 123,60 : caption 123,"I " : font_italic 123 : font_bold 123 check 124 : top 124,630 : left 124,110 : caption 124,"S" : font_underline 124 : font_bold 124 check 125 : top 125,630 : left 125,160 : caption 125,"B" : font_strike 125 : font_bold 125 button 126 : top 126,660 : left 126,10 : caption 126,"Appliquer police" on_click 126,police_1 : width 126,150 combo 127 : top 127,660 : left 127,170 : width 127,80 item_add 127,"Normal" item_add 127,"Sélectionné" button 128 : top 128,390 : left 128,10 : caption 128,"Désactiver le menu" width 128,100 : on_click 128,activer_1
panel 129 : top 129,70 : left 129,0 : width 129,240 : height 129,300 combo 201 : top 201,420 : left 201,310 item_add 201,"1=Color" item_add 201,"2=BorderColor" item_add 201,"3=SelectedColor" item_add 201,"4=UnselectedColor" item_add 201,"5=ModifiedColor" item_add 201,"6=TabBorderColor" item_add 201,"7=TabColor" item_add 201,"8=FontColor" item_add 201,"9=SelectedFontColor" combo 213 : top 213,420 : left 213,470 : width 213,90 item_add 213,"Tous onglets" item_add 213,"Page 1" item_add 213,"P. 2" item_add 213,"P. 3" alpha 202 : top 202,450 : left 202,310 : caption 202,"R:" edit 203 : top 203,450 :left 203,330 : width 203,40 : text 203,0 scroll_bar 204 : top 204,450 : left 204,380 min 204,0 : max 204,255 : position 204,0 on_change 204,change_R2 alpha 205 : top 205,480 : left 205,310 : caption 205,"G:" edit 206 : top 206,480 :left 206,330 : width 206,40 : text 206,0 scroll_bar 207 : top 207,480 : left 207,380 min 207,0 : max 207,255 : position 207,0 on_change 207,change_G2 alpha 208 : top 208,510 : left 208,310 : caption 208,"B:" edit 209 : top 209,510 :left 209,330 : width 209,40 : text 209,0 scroll_bar 210 : top 210,510 : left 210,380 min 210,0 : max 210,255 : position 210,0 on_change 210,change_B2 picture 211 : top 211,540 : left 211,310 : height 211,30 color 211,0,0,0 button 212 : top 212,570 : left 212,310 : caption 212,"Appliquer couleur" on_click 212,couleur_2 : width 212,150
combo 220 : top 220,600 : left 220,310 : font_names_load 220 combo 221 : top 221,600 : left 221,460 : width 221,50 item_add 221,"8" item_add 221,"10" item_add 221,"12" item_add 221,"14" check 222 : top 222,630 : left 222,310 : caption 222,"B" : font_bold 222 check 223 : top 223,630 : left 223,360 : caption 223,"I " : font_italic 223 : font_bold 123 check 224 : top 224,630 : left 224,410 : caption 224,"S" : font_underline 224 : font_bold 124 check 225 : top 225,630 : left 225,460 : caption 225,"B" : font_strike 225 : font_bold 125 button 226 : top 226,660 : left 226,310 : caption 226,"Appliquer police" on_click 226,police_2 : width 226,150 combo 227 : top 227,660 : left 227,470 : width 227,80 item_add 227,"Normal" item_add 227,"Sélectionné"
button 228 : top 228,390 : left 228,310 : caption 228,"Désactiver le menu" width 228,100 : on_click 228,activer_2
dll_on "KGF.dll"
res% = dll_call2("SelectComboBoxItem",handle(101),1) res% = dll_call2("SelectComboBoxItem",handle(201),1) for i%=1 to count(120) if item_read$(120,i%)="Arial" res% = dll_call2("SelectComboBoxItem",handle(120),i%) res% = dll_call2("SelectComboBoxItem",handle(220),i%) exit_for end_if next i% res% = dll_call2("SelectComboBoxItem",handle(5),1) res% = dll_call2("SelectComboBoxItem",handle(6),1) res% = dll_call2("SelectComboBoxItem",handle(121),1) res% = dll_call2("SelectComboBoxItem",handle(221),1) res% = dll_call2("SelectComboBoxItem",handle(113),1) res% = dll_call2("SelectComboBoxItem",handle(213),1) res% = dll_call2("SelectComboBoxItem",handle(127),1) res% = dll_call2("SelectComboBoxItem",handle(227),1)
i% = (255*256+255)*256+255 IL1% = dll_call2("CreateImageList",15,15) s$ = "ImageList_1.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%) s$ = "ImageList_2.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%) s$ = "ImageList_3.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%)
IL2% = dll_call2("CreateImageList",15,15) s$ = "ImageList_1.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%) s$ = "ImageList_2.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%) s$ = "ImageList_3.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%)
end
create1: PC1% = dll_call1("CreateTabObject",handle(129)) res% = dll_call6("TabObjectFunction",PC1%,5,0,item_index(5)-1,0,0) res% = dll_call5("TabObjectGeometry",PC1%,10,20,200,250) res% = dll_call6("TabObjectFunction",PC1%,7,0,IL1%,0,0) s$ = "Onglet 1" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,1,0,0,0) s$ = "O. 2" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,2,1,0,0) s$ = "O. 3" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,3,2,0,0)
if object_exists(11)=0 edit 11 : top 11,10 : left 11,10 button 13 : top 13,30 : left 13,50 memo 14 : top 14,40 : left 14,30 alpha 15 : top 15,40 : left 15,20 : caption 15,"Objet ALPHA" picture 16 : top 16,60 : left 16,10 : color 16,255,0,0 end_if res% = dll_call3("AddObjectToTabObjectTab",PC1%,1,handle(11)) res% = dll_call3("AddObjectToTabObjectTab",PC1%,2,handle(13)) res% = dll_call3("AddObjectToTabObjectTab",PC1%,3,handle(14)) res% = dll_call3("AddSimpleObjectToTabObjectTab",PC1%,1,object_internal(15)) res% = dll_call3("AddSimpleObjectToTabObjectTab",PC1%,2,object_internal(16)) act1% = 1 return create2: PC2% = dll_call1("CreateTabObject",handle(0)) res% = dll_call6("TabObjectFunction",PC2%,5,0,item_index(6)-1,0,0) res% = dll_call5("TabObjectGeometry",PC2%,310,70,200,250) res% = dll_call6("TabObjectFunction",PC2%,7,0,IL2%,0,0) s$ = "Page 1" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,1,0,0,0) s$ = "P. 2" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,2,1,0,0) s$ = "P. 3" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,3,2,0,0)
if object_exists(12)=0 edit 12 : top 12,10 : left 12,10 end_if res% = dll_call3("AddObjectToTabObjectTab",PC2%,2,handle(12)) act2% = 1 return delete1: res% = dll_call1("DeleteTabObject",PC1%) PC1% = 0 return
delete2: res% = dll_call1("DeleteTabObject",PC2%) PC2% = 0 return change_R1: text 103,position(104) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
change_G1: text 106,position(107) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
change_B1: text 109,position(110) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
couleur_1: rgb% = (val(text$(109))*256+val(text$(106)))*256+val(text$(103)) i% = item_index(101) ong% = item_index(113)-1 res% = dll_call6("TabObjectFunction",PC1%,1,ong%,i%,rgb%,0) return police_1: s$ = text$(120) sz% = val(text$(121)) att% = checked(122) + checked(123)*2 + checked(124)*4 + checked(125)*8 ong% = item_index(127) - 1 res% = dll_call6("TabObjectFunction",PC1%,2,ong%,sz%,att%,adr(s$)) return
activer_1: if PC1%<>0 act1% = 1 - act1% res% = dll_call6("TabObjectFunction",PC1%,6,0,act1%,0,0) if act1%=1 caption 128,"Désactiver le menu" else caption 128,"Activer le menu" end_if end_if return change_R2: text 203,position(204) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
change_G2: text 206,position(207) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
change_B2: text 209,position(210) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
couleur_2: rgb% = (val(text$(209))*256+val(text$(206)))*256+val(text$(203)) i% = item_index(201) ong% = item_index(213)-1 res% = dll_call6("TabObjectFunction",PC2%,1,ong%,i%,rgb%,0) return
police_2: s$ = text$(220) sz% = val(text$(221)) att% = checked(222) + checked(223)*2 + checked(224)*4 + checked(225)*8 ong% = item_index(227) - 1 res% = dll_call6("TabObjectFunction",PC2%,2,ong%,sz%,att%,adr(s$)) return
activer_2: if PC2%<>0 act2% = 1 - act2% res% = dll_call6("TabObjectFunction",PC2%,6,0,act2%,0,0) if act2%=1 caption 228,"Désactiver le menu" else caption 228,"Activer le menu" end_if end_if return
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 1:29 | |
| Je confirme, cela fonctionne dans mon code aussi... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 1:33 | |
| Super, Ygeronimi ! Je suis très heureux de voir que mon petit produit est employé directement ! Merci d'oser de faire le premier pas, alors que la doc n'est pas encore prête ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 1:56 | |
| De rien Klaus. J' ai épuré le code pour ne rajouter les fonctions qu" au fur et à mesure du besoin dans mon programme mais, à terme, elles y seront toutes dans les paramètres de l' application. Cela risque d' être plus long à mettre en place que la version 2.3 mais toutes les avancées, que ce soit Panoramic ou Kgf vont rendre mon éditeur plus Pro...pre que cette version 2.3 qui utilisait des trucs et astuces en passant par richedit ou un pluggin pour les zips etc... Bref, c' est l' heure du le réveil sonne de bonne heure demain heu...tout à l' heure... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 11:41 | |
| Nouvelle version: KGF.dll V4.15 du 22/01/2015 Nouveautés: - ajout du style 3D en forme de rectangleModules modifiés: KGF.dllLes sources sont à jour. La doc suivra. Voici le programme de démo adapté: - Code:
-
' test PageControl.bas
label create1, create2, delete1, delete2 label change_R1, change_G1, change_B1, couleur_1, police_1, activer_1 label change_R2, change_G2, change_B2, couleur_2, police_2, activer_2
dim res%, s$, rgb%, i%, sz%, att%, ong%, act1%, act2%
dim PC1%, PC2%, PC1pages%(3), PC2pages%(2), IL1%, IL2%
height 0,760
button 1 : top 1,10 : left 1, 10 : width 1,20 : caption 1,"+" : on_click 1,create1 hint 1,"Créer PageControl 1" button 2 : top 2,10 : left 2,310 : width 2,20 : caption 2,"+" : on_click 2,create2 hint 2,"Créer PageControl 2"
button 3 : top 3,10 : left 3, 30 : width 3,20 : caption 3,"x" : on_click 3,delete1 hint 3,"Supprimer PageControl 1" button 4 : top 4,10 : left 4,330 : width 4,20 : caption 4,"x" : on_click 4,delete2 hint 4,"Supprimer PageControl 2" combo 5 : top 5,10 : left 5,60 : width 5,130 item_add 5,"Onglets standard" item_add 5,"Onglets symmétriques" item_add 5,"Onglets rectangulaires" item_add 5,"Onglets rectang. 3D" combo 6 : top 6,10 : left 6,360 : width 6,130 item_add 6,"Onglets standard" item_add 6,"Onglets symmétriques" item_add 6,"Onglets rectangulaires" item_add 6,"Onglets rectang. 3D"
combo 101 : top 101,420 : left 101,10 item_add 101,"1=Color" item_add 101,"2=BorderColor" item_add 101,"3=SelectedColor" item_add 101,"4=UnselectedColor" item_add 101,"5=ModifiedColor" item_add 101,"6=TabBorderColor" item_add 101,"7=TabColor" item_add 101,"8=FontColor" item_add 101,"9=SelectedFontColor" combo 113 : top 113,420 : left 113,170 : width 113,90 item_add 113,"Tous onglets" item_add 113,"Onglet 1" item_add 113,"O. 2" item_add 113,"O. 3" alpha 102 : top 102,450 : left 102,10 : caption 102,"R:" edit 103 : top 103,450 :left 103,30 : width 103,40 : text 103,0 scroll_bar 104 : top 104,450 : left 104,80 min 104,0 : max 104,255 : position 104,0 on_change 104,change_R1 alpha 105 : top 105,480 : left 105,10 : caption 105,"G:" edit 106 : top 106,480 :left 106,30 : width 106,40 : text 106,0 scroll_bar 107 : top 107,480 : left 107,80 min 107,0 : max 107,255 : position 107,0 on_change 107,change_G1 alpha 108 : top 108,510 : left 108,10 : caption 108,"B:" edit 109 : top 109,510 :left 109,30 : width 109,40 : text 109,0 scroll_bar 110 : top 110,510 : left 110,80 min 110,0 : max 110,255 : position 110,0 on_change 110,change_B1 picture 111 : top 111,540 : left 111,10 : height 111,30 color 111,0,0,0 button 112 : top 112,570 : left 112,10 : caption 112,"Appliquer couleur" on_click 112,couleur_1 : width 112,150
combo 120 : top 120,600 : left 120,10 : font_names_load 120 combo 121 : top 121,600 : left 121,160 : width 121,50 item_add 121,"8" item_add 121,"10" item_add 121,"12" item_add 121,"14" check 122 : top 122,630 : left 122,10 : caption 122,"B" : font_bold 122 check 123 : top 123,630 : left 123,60 : caption 123,"I " : font_italic 123 : font_bold 123 check 124 : top 124,630 : left 124,110 : caption 124,"S" : font_underline 124 : font_bold 124 check 125 : top 125,630 : left 125,160 : caption 125,"B" : font_strike 125 : font_bold 125 button 126 : top 126,660 : left 126,10 : caption 126,"Appliquer police" on_click 126,police_1 : width 126,150 combo 127 : top 127,660 : left 127,170 : width 127,80 item_add 127,"Normal" item_add 127,"Sélectionné" button 128 : top 128,390 : left 128,10 : caption 128,"Désactiver le menu" width 128,100 : on_click 128,activer_1
panel 129 : top 129,70 : left 129,0 : width 129,240 : height 129,300 combo 201 : top 201,420 : left 201,310 item_add 201,"1=Color" item_add 201,"2=BorderColor" item_add 201,"3=SelectedColor" item_add 201,"4=UnselectedColor" item_add 201,"5=ModifiedColor" item_add 201,"6=TabBorderColor" item_add 201,"7=TabColor" item_add 201,"8=FontColor" item_add 201,"9=SelectedFontColor" combo 213 : top 213,420 : left 213,470 : width 213,90 item_add 213,"Tous onglets" item_add 213,"Page 1" item_add 213,"P. 2" item_add 213,"P. 3" alpha 202 : top 202,450 : left 202,310 : caption 202,"R:" edit 203 : top 203,450 :left 203,330 : width 203,40 : text 203,0 scroll_bar 204 : top 204,450 : left 204,380 min 204,0 : max 204,255 : position 204,0 on_change 204,change_R2 alpha 205 : top 205,480 : left 205,310 : caption 205,"G:" edit 206 : top 206,480 :left 206,330 : width 206,40 : text 206,0 scroll_bar 207 : top 207,480 : left 207,380 min 207,0 : max 207,255 : position 207,0 on_change 207,change_G2 alpha 208 : top 208,510 : left 208,310 : caption 208,"B:" edit 209 : top 209,510 :left 209,330 : width 209,40 : text 209,0 scroll_bar 210 : top 210,510 : left 210,380 min 210,0 : max 210,255 : position 210,0 on_change 210,change_B2 picture 211 : top 211,540 : left 211,310 : height 211,30 color 211,0,0,0 button 212 : top 212,570 : left 212,310 : caption 212,"Appliquer couleur" on_click 212,couleur_2 : width 212,150
combo 220 : top 220,600 : left 220,310 : font_names_load 220 combo 221 : top 221,600 : left 221,460 : width 221,50 item_add 221,"8" item_add 221,"10" item_add 221,"12" item_add 221,"14" check 222 : top 222,630 : left 222,310 : caption 222,"B" : font_bold 222 check 223 : top 223,630 : left 223,360 : caption 223,"I " : font_italic 223 : font_bold 123 check 224 : top 224,630 : left 224,410 : caption 224,"S" : font_underline 224 : font_bold 124 check 225 : top 225,630 : left 225,460 : caption 225,"B" : font_strike 225 : font_bold 125 button 226 : top 226,660 : left 226,310 : caption 226,"Appliquer police" on_click 226,police_2 : width 226,150 combo 227 : top 227,660 : left 227,470 : width 227,80 item_add 227,"Normal" item_add 227,"Sélectionné"
button 228 : top 228,390 : left 228,310 : caption 228,"Désactiver le menu" width 228,100 : on_click 228,activer_2
dll_on "KGF.dll"
res% = dll_call2("SelectComboBoxItem",handle(101),1) res% = dll_call2("SelectComboBoxItem",handle(201),1) for i%=1 to count(120) if item_read$(120,i%)="Arial" res% = dll_call2("SelectComboBoxItem",handle(120),i%) res% = dll_call2("SelectComboBoxItem",handle(220),i%) exit_for end_if next i% res% = dll_call2("SelectComboBoxItem",handle(5),1) res% = dll_call2("SelectComboBoxItem",handle(6),1) res% = dll_call2("SelectComboBoxItem",handle(121),1) res% = dll_call2("SelectComboBoxItem",handle(221),1) res% = dll_call2("SelectComboBoxItem",handle(113),1) res% = dll_call2("SelectComboBoxItem",handle(213),1) res% = dll_call2("SelectComboBoxItem",handle(127),1) res% = dll_call2("SelectComboBoxItem",handle(227),1)
i% = (255*256+255)*256+255 IL1% = dll_call2("CreateImageList",15,15) s$ = "ImageList_1.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%) s$ = "ImageList_2.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%) s$ = "ImageList_3.bmp" res% = dll_call4("AddImageToImageList",IL1%,adr(s$),1,i%)
IL2% = dll_call2("CreateImageList",15,15) s$ = "ImageList_1.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%) s$ = "ImageList_2.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%) s$ = "ImageList_3.bmp" res% = dll_call4("AddImageToImageList",IL2%,adr(s$),1,i%)
end
create1: PC1% = dll_call1("CreateTabObject",handle(129)) res% = dll_call6("TabObjectFunction",PC1%,5,0,item_index(5)-1,0,0) res% = dll_call5("TabObjectGeometry",PC1%,10,20,200,250) res% = dll_call6("TabObjectFunction",PC1%,7,0,IL1%,0,0) s$ = "Onglet 1" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,1,0,0,0) s$ = "O. 2" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,2,1,0,0) s$ = "O. 3" res% = dll_call2("AddTabObjectTab",PC1%,adr(s$)) res% = dll_call6("TabObjectFunction",PC1%,8,3,2,0,0)
if object_exists(11)=0 edit 11 : top 11,10 : left 11,10 button 13 : top 13,30 : left 13,50 memo 14 : top 14,40 : left 14,30 alpha 15 : top 15,40 : left 15,20 : caption 15,"Objet ALPHA" picture 16 : top 16,60 : left 16,10 : color 16,255,0,0 end_if res% = dll_call3("AddObjectToTabObjectTab",PC1%,1,handle(11)) res% = dll_call3("AddObjectToTabObjectTab",PC1%,2,handle(13)) res% = dll_call3("AddObjectToTabObjectTab",PC1%,3,handle(14)) res% = dll_call3("AddSimpleObjectToTabObjectTab",PC1%,1,object_internal(15)) res% = dll_call3("AddSimpleObjectToTabObjectTab",PC1%,2,object_internal(16)) act1% = 1 return create2: PC2% = dll_call1("CreateTabObject",handle(0)) res% = dll_call6("TabObjectFunction",PC2%,5,0,item_index(6)-1,0,0) res% = dll_call5("TabObjectGeometry",PC2%,310,70,200,250) res% = dll_call6("TabObjectFunction",PC2%,7,0,IL2%,0,0) s$ = "Page 1" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,1,0,0,0) s$ = "P. 2" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,2,1,0,0) s$ = "P. 3" res% = dll_call2("AddTabObjectTab",PC2%,adr(s$)) res% = dll_call6("TabObjectFunction",PC2%,8,3,2,0,0)
if object_exists(12)=0 edit 12 : top 12,10 : left 12,10 end_if res% = dll_call3("AddObjectToTabObjectTab",PC2%,2,handle(12)) act2% = 1 return delete1: res% = dll_call1("DeleteTabObject",PC1%) PC1% = 0 return
delete2: res% = dll_call1("DeleteTabObject",PC2%) PC2% = 0 return change_R1: text 103,position(104) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
change_G1: text 106,position(107) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
change_B1: text 109,position(110) color 111,val(text$(103)),val(text$(106)),val(text$(109)) return
couleur_1: rgb% = (val(text$(109))*256+val(text$(106)))*256+val(text$(103)) i% = item_index(101) ong% = item_index(113)-1 res% = dll_call6("TabObjectFunction",PC1%,1,ong%,i%,rgb%,0) return police_1: s$ = text$(120) sz% = val(text$(121)) att% = checked(122) + checked(123)*2 + checked(124)*4 + checked(125)*8 ong% = item_index(127) - 1 res% = dll_call6("TabObjectFunction",PC1%,2,ong%,sz%,att%,adr(s$)) return
activer_1: if PC1%<>0 act1% = 1 - act1% res% = dll_call6("TabObjectFunction",PC1%,6,0,act1%,0,0) if act1%=1 caption 128,"Désactiver le menu" else caption 128,"Activer le menu" end_if end_if return change_R2: text 203,position(204) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
change_G2: text 206,position(207) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
change_B2: text 209,position(210) color 211,val(text$(203)),val(text$(206)),val(text$(209)) return
couleur_2: rgb% = (val(text$(209))*256+val(text$(206)))*256+val(text$(203)) i% = item_index(201) ong% = item_index(213)-1 res% = dll_call6("TabObjectFunction",PC2%,1,ong%,i%,rgb%,0) return
police_2: s$ = text$(220) sz% = val(text$(221)) att% = checked(222) + checked(223)*2 + checked(224)*4 + checked(225)*8 ong% = item_index(227) - 1 res% = dll_call6("TabObjectFunction",PC2%,2,ong%,sz%,att%,adr(s$)) return
activer_2: if PC2%<>0 act2% = 1 - act2% res% = dll_call6("TabObjectFunction",PC2%,6,0,act2%,0,0) if act2%=1 caption 228,"Désactiver le menu" else caption 228,"Activer le menu" end_if end_if return
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 12:02 | |
| Testé et approuvé ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 13:34 | |
| Petit souci au niveau de la police ( quoi de plus normal hein !... ) Que l' on choisisse " Sélectionné" ou " Normal", le résultat est le même, les attributs s' appliquent à " Normal". - Code:
-
res% = dll_call6("TabObjectFunction",PC2%,2,ong%,sz%,att%,adr(s$)) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 14:29 | |
| Le 3ème paramètre indique quel onglet est concerné: 0 = les onglets non sélectionnés 1 = l'onglet sélectionné donc: - Code:
-
res% = dll_call6("TabObjectFunction",PC2%,2,0%,sz%,att%,adr(s$)) pour tous les onglets non sélectionnés, et - Code:
-
res% = dll_call6("TabObjectFunction",PC2%,2,1%,sz%,att%,adr(s$)) pour l'onglet sélectionné. On ne peut pas faire de distinction de police ou attributs entre les différents onglets non sélectionnés. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 14:40 | |
| l' onglet sélectionné ne prend pas la police... Je vais te faire un nouveau zip du projet. (ne regardes pas où sont déclarées les variables, c' est encore un peu le souk ) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 14:54 | |
| Regarde avec mon programme de démo: 1. crée le TabObject de gauche 2. en bas, coche la case "Italique" 3. en-dessous, à droite du bouton "Appliquer", choisis "Sélectionné" dans la combo 4. clique sur "Appliquer police" 5. navigue dans les onglets pour voir l'effet... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 22 Jan 2015 - 17:46 | |
| Ca y est - la doc est complète !
Elle concerne TabObject, bien sûr, mais également le tout nouvel objet ImageList. Cet objet est pour l'instant utilisé uniquement par TabObject, mais je vais m'en servir également pour la ToolBar ainsi que pour d'autres applications à venir.
Donc, Ygeronimi, n'hésite pas à télécharger KGF.chm et d'étudier les paramètres, en particulier pour TabObjectFunction. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 22 Jan 2015 - 21:00 | |
| J' ai commencé mais, là, j' ai de la lecture. Entre Tab et Synedit... ...je ressors mon stock de Doliprane. C' est bon, ne criez plus, je sors... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 25 Jan 2015 - 1:47 | |
| Nouvelle version: KGF.dll V4.16 du 24/01/2015
Nouveautés: - StringList: capacité d'utiliser des DLIST Panoramic comme objets StringList
Modules modifiés: KGF.dll
Les sources sont à jour. La doc suivra.
Cette modification, initiée par une idée émise par Pédro, a été rendue possible par la toute nouvelle version V0.9.26i5 du 7/1/2015 que Jack à publiée. Elle donne entre autres la nouvelle fonction OBJECT_INTERNAL. Et à l'ai de cette fonction, utilisée à la place de la fonction HANDLE, on peut passer un objet DLIST aux fonctions de gestion des objets StringList de KGF.dll et profiter ainsi de toute leur puissance. Et c'est doublement profitable: 1. on lève la limitation de KGF.dll qui ne peut gérer que 20 objets StringList simultanément, car on peut créer autant de DLIST Panoramic que nécessaire. 2. on ajoute la possiblite d'une deuxième variante de tri à un objet DLIST. En effen, la commande SORT sur une DLIST trie cet objet selon les règles Windows. Mais souvent, on a besoin d'un tri strictement ASCII. Et ceci est possible via les fonction de gestion des StringList de KGF.dll. De plus, on a une fonction de recherche puissante dans KGF.dll, recherche qui n'existe pas en Panoramic.
Bien entendu, il y a des restrictions à observer. Deux fonctions de KGF.dll ne peuvent pas être employées sur une DLIST: ce sont CreateStringList et DeleteStringList, pour des raisons évidentes. Mais pas de panique: CreateStringList crée dans tous les cas une StringList interne à KGF.dll et en aucun cas un DLIST Panoramic. Et DeleteStringList, appelée par mégarde sur une DLIST, ne fait rien et retourne un code erreur de -1.
La doc du chapitre sur les StringList a été complétée. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Jan 2015 - 2:33 | |
| Une petite question... Y a t il un moyen d' attacher une fenêtre synedit à un onglet de l' objet TAB sans repasser par un objet Panoramic ? ( J' ai besoin de 5 fenêtres synedit rattachées chacune à un onglet de l' objet TAB de la dll.)Bon, je ressors.... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 27 Jan 2015 - 19:05 | |
| Oui. Pour cela, il faut récupérer le handle de l'objet Synedit, via la fonction SyneditFunction, code 20. Voici un exemple qui crée un TabObject avec 3 onglets, et un Synedit dans chaque Onglet: - Code:
-
dim res%, SE1%, SE2%, SE3%, TO%, txt$, hnd1%, hnd2%, hnd3%
dll_on "KGF.dll"
edit 1 : hide 1
TO% = dll_call1("CreateTabObject",handle(0)) res% = dll_call5("TabObjectGeometry",TO%,20,20,400,350) txt$ = "Premier" res% = dll_call2("AddTabObjectTab",TO%,adr(txt$)) txt$ = "Deuxième" res% = dll_call2("AddTabObjectTab",TO%,adr(txt$)) txt$ = "Troisième" res% = dll_call2("AddTabObjectTab",TO%,adr(txt$))
res% = dll_call0("SyneditInitialize")
SE1% = dll_call2("SyneditCreate",handle(0),handle(1)) res% = dll_call5("SyneditGeometry",SE1%,10,10,350,280) hnd1% = dll_call3("SyneditFunction",SE1%,20,0) res% = dll_call3("AddObjectToTabObjectTab",TO%,1,hnd1%)
SE2% = dll_call2("SyneditCreate",handle(0),handle(1)) res% = dll_call5("SyneditGeometry",SE2%,10,10,350,280) hnd2% = dll_call3("SyneditFunction",SE2%,20,0) res% = dll_call3("AddObjectToTabObjectTab",TO%,2,hnd2%)
SE3% = dll_call2("SyneditCreate",handle(0),handle(1)) res% = dll_call5("SyneditGeometry",SE3%,10,10,350,280) hnd3% = dll_call3("SyneditFunction",SE3%,20,0) res% = dll_call3("AddObjectToTabObjectTab",TO%,3,hnd3%)
end
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Jan 2015 - 19:12 | |
| Merci Klaus !!! Tu me sauves, j' étais parti pour ajouter un panel qui serait devenu le parent du form synedit. Je vais pouvoir faire l' économie de 5 panels... ...et d' un sac de noeuds avec les handle... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 27 Jan 2015 - 19:20 | |
| Super !
D'ailleurs, dans le petit code ci-dessus, j'ai mis 3 variables hnd1%, hnd2% et hnd3%. Il en faut juste une, pour pouvoir appeler AddObjectToTabObjectTab. Après, on peut oublier cette valeur. De toutes façons, on peut la récupérer à tout moment par la fonction SyneditFunction code 20. Par contre, il faut bien garder les variables SE1%, SE2% et SE3%, ou alors faire un tableau DIM SE%(3) ou DIM SE%(5) dans ton cas. Ces valeurs individuelles servent à identifier le Synedit spécifique sur lequel on veut agir.
Sympa, ces objets évolués, non ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Mar 27 Jan 2015 - 21:19 | |
| J' ai ce message en quittant par la croix : ( fonction quitter non implémentée pour l' instant )Pourtant, j' ai un label Close0 dans lequel je delete les fenêtre synedit... (J' ai mis sur mon webdav le PPE_2_04.zip) Ha, puis une autre petite question... Comment peut on récupérer l' onglet actif de tab ou le form actif de synedit ?solution de la question barré : - Code:
-
if Change%=Syn_Edit% if left$(text$(syn_edit%),1)="C" Syn_Num%=Val(Right$(text$(syn_edit%),1)) end_if end_if | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 27 Jan 2015 - 22:21 | |
| Voilà comment je sors de Synedit_Editor: - Code:
-
' boucler sur: res% = dll_call1("SyneditDelete",SE%(ip%)) ' puis: res% = dll_call1("KillProcessByHandle",handle(0)) : ' arrêt inconditionnel
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Jan 2015 - 22:26 | |
| Ok Klaus ! merci. Ma solution au dessus n' est pas bonne pour connaitre le form synedit actif, cela ne fonctionne que si un événement est intervenu dans le form et pas lorsque je change d' onglet. Edit : Pour le message bizarre,J' ai trouvé le pourquoi du comment j' ai pas arrêté la surveillance des zones "bouton-image", j' ai zappé le report de la fonction | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 28 Jan 2015 - 0:14 | |
| Nouvelle version: KGF.dll V4.17 du 27/01/2015
Nouveautés: - TabObject: la fonction TabFunction code 3 avec ntab%=0 retourne maintenant le numéro de l'onglet sélectionné (celui qui est affiché). - Correction de petites anomalies dans la doc de TabObject
Modules modifiés: KGF.dll
Les sources et la doc sont à jour. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 28 Jan 2015 - 0:14 | |
| Hallo Houston !!!...on a un problème... Un bouton attaché à un objet Tab perd son "On_click" edit : On s' est croisé. Super cette fonction va m' être bien utile. Merci Klaus.
Dernière édition par ygeronimi le Mer 28 Jan 2015 - 0:52, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 28 Jan 2015 - 0:37 | |
| J'ai vu le problème de clic. Je vais étudier cela. | |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |