FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» TourD Version 2
par Minibug Aujourd'hui à 1:50

» La métamatière et le peuple
par JL35 Hier à 21:18

» Capture d'une zone de l'écran total
par JL35 Hier à 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Hier à 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

» KGF_dll - nouvelles versions
par Klaus Mer 15 Nov 2017 - 2:08

» Analyser un code Panoramic
par JL35 Lun 13 Nov 2017 - 18:38

» Un bonjour en passant...
par Minibug Dim 12 Nov 2017 - 19:57

» mise a jour calculatrice
par joeeee2017 Dim 12 Nov 2017 - 4:20

» comment accèder à l'heure et à la date d'un fichier
par Klaus Sam 11 Nov 2017 - 0:53

» Compilateur FBPano
par Jicehel Mer 8 Nov 2017 - 15:22

» Mon adresse e-mail
par treehouse Mer 8 Nov 2017 - 14:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 ou est l'erreur?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

avatar

Nombre de messages : 10112
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 2:52

Possiblement au niveau du handle du sous-menu que Panoramic retourne. Voici mon progamme test en Panoramic:
Code:
label sortir

dim bmp$, res%

main_menu 1
sub_menu 2 : parent 2,1 : caption 2,"Fichier"
sub_menu 3 : parent 3,2 : caption 3,"Sortir" : on_click 3,sortir

open_dialog 13
filter 13,"bitmap|*.bmp"
bmp$ = file_name$(13)
if bmp$="_" then terminate

dll_on "KGF.dll"
res% = dll_call3("TestMenu",handle(1),0,adr(bmp$))
res% = dll_call3("TestMenu",handle(1),1,adr(bmp$))
res% = dll_call3("TestMenu",handle(1),2,adr(bmp$))
res% = dll_call3("TestMenu",handle(2),0,adr(bmp$))
res% = dll_call3("TestMenu",handle(2),1,adr(bmp$))
res% = dll_call3("TestMenu",handle(3),0,adr(bmp$))
res% = dll_call3("TestMenu",handle(3),1,adr(bmp$))

end

sortir:
  terminate
Une de ces 7 lignes devrait le faire. E voici le code de ma fonction TestMenu en Delphi:
Code:
function TestMenu(hmenu: HWND; ind: integer; bmp: pstring):integer; stdcall; export;
var
  Picture: TPicture;
begin
  Picture:=TPicture.Create;
  Picture.LoadFromFile(bmp^);
  delay(100);
  SetMenuItemBitmaps(hmenu,ind,MF_BYPOSITION,Picture.Bitmap.Handle,Picture.Bitmap.Handle);
  result := 0;
end;
Ce code est directement issu de plusieurs publications sur le net.

On a besoin du handle du menu, d'un indice compté à partir de 0 et de deux handles de bitmaps (un pour l'état "coché", l'autre pour l'état "non coche". Les deux peuvent être identiques. La fonction crée un picture iinterne, charge le fichier DMP dedans, et utilise le handle de la bitmap que renferme le picture. Techniquement très simple, sauf que ça ne marche pas. Et pour le moment, je ne sais pas pourquoi.

EDIT

J'ai découvert qu'il faut utiliser des icônes de 12x12 pixels, pour les menus. Donc, voici l'icône que j'utilise pour les tests:

C'est un petit cercle noir sur fond blanc.


Dernière édition par Klaus le Mar 7 Juil 2015 - 10:32, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 7 Juil 2015 - 3:11

Et comme Jack ignore royalement le sujet... Sad
Il nous a fait Container_tab et Tab mais là aussi, pas de possibilité d' icône dans les onglets,
et pour les boutons, c' est la même histoire... Crying or Very sad

Si il veut réellement une ouverture vers les tablettes, il va falloir qu' il se penche là dessus.
J' ai l' impression qu' il se perd avec toutes ses variantes qui n' en sont pas, dommage... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10112
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 10:33

J'ai édité mon post ci-dessus pour ajouter l'icône que j'utilise pour les tests. Mais le problème est identique, quelque soit le BMP et indépendant des dimensions de l'image.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 10:44

[HS]
Merci Klaus pour ta réponse.
C'est bien comme cela que j'avais interprété la chose.
Ce compteur est en réalité un compteur de "clone" (b$=a$) mais dès que tu touches à une de ces 2 variables, le compteur est décrémenté et une réservation supplémentaire est créé...
Je ne comprend pas vraiment l’intérêt de ce mécanisme de gestion de chaine en Delphi.
C'est même piégeux comme tu l'as démontré dans ton exemple.
[/HS]
Promis, je ne pourrirai plus ce topic ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 7 Juil 2015 - 15:17

@ Klaus,

Avec quelle version de KGF travailles tu ?

Voilà ce que j' ai avec la dernière téléchargée :


Vs 4.82 du 02/07/2015 ( chez moi )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10112
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 15:42

Je travaillais évidemment avec une version modifiée, non publiée, contenant la fonctionprovisoire TestMenu. Je viens de copier cette version sur mon WebDav, dossier DLLs, sous le nom KGF_avec_TestMenu.dll. Su tu veux l'essayer, sers-toi...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 7 Juil 2015 - 17:07

Je vais essayer pour voir, je me coucherai moins bête ce soir
et peut être qu' une iddée me traversera l' esprit... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5859
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 17:44

Fais quand même gaffe c'est dangereux ces idées qui traversent l'esprit, c'est depuis ce temps là moi que j'ai des courants d'air dans le crâne ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 7 Juil 2015 - 20:00

Je ne sais pas si cela te sera utile, peut être as tu déjà lu cet page...
...en tout cas, pour quelqu' un qui comprend, cela semble intéressant.
Laughing
http://stackoverflow.com/questions/23253829/is-a-themed-main-menu-with-icons-possible-in-delphi

il y a trois liens et du code en bas de page.
Pour moi, c' est du chinois.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10112
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: ou est l'erreur?   Mar 7 Juil 2015 - 20:35

Oui, je connais cette page. Je ne peux pas appliquer cette technique avec un objet ImageList, car je n'ai pas accès à l'objet Main_Menu. Et les autres liens sont essentiellement pour un menu contextuel (par clic droit), ce qui n'est pas notre cas.

La technique avec l'objet ImageList est certainement la bonne, mais Jack est le seul à pouvoir l'appliquer. Il faut lui suggérer une nouvelle commande:
MENU_ICON N1,N2,F$
N1 étant le numéro du main_menu
N2 étant le numéro du sub_menu pour lequel il faut afficher l'icône
F$ étant le nom du fichier BMP contenant l'icône à afficher

Il faut garder en mémoire que ces bitmaps doivent avoir une dimension de 12x12 pixels.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 8 Juil 2015 - 8:55

A moins de repasser par une dll pour utiliser un objet main_menu externe
qui ,lui , accepte les icones...
lol!

D' où une de mes propositions de créer une dll comme fltk pour tous les objets...
Embarassed bon ca y est je repars en vrille...je sors.

D' autre part, si l' objet Container_Tab est sympa en natif, il comporte deux inconvénients
dont un majeur:

1 / pas d' icône
2 / numérotation en dur ( ca, c' est ch...t, pour supprimer et rajouter des feuilles au classeur )

du coup, je me retourne vers l' objet de la dll... Embarassed


En ce moment, dès que j' ai un prog en tête, je me trouve confronté à une contrainte et j' abandonne...
...déjà que mon courage du moment est dans mes chaussettes. Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5056
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: ou est l'erreur?   Mer 8 Juil 2015 - 11:33

@Ygeronimi,

J'ai fait un essai, à l'instant, d'affecter un PICTURE à TAB avec la commande PARENT.
Jusque là, pas de problème. Ensuite j'ai charger une "image.bmp" dans le PICTURE en prenant soin de choisir une image de 8x8, le souci c'est que l'image est visible, mais pas dans l'onglet.

Tu devrais demander à Jack qu'il créé une commande TAB_IMAGE_CAPTION N,"image.bmp" , si tu vois ce que je veux dire.

A+

En fait c'est pratiquement, ce qu'a suggérer Klaus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 8 Juil 2015 - 14:35

J' en parle dans tous les sujets qui s' y prêtent.
Je pense donc que Jack est au courant...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5056
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: ou est l'erreur?   Mer 8 Juil 2015 - 15:44

A mon avis tu auras plus de succès en utilisant le post "vos souhaits d'amélioration .....".

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: ou est l'erreur?   

Revenir en haut Aller en bas
 
ou est l'erreur?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: