Creer un nouveau curseur sous Broland C++ 3 - C++ - Programmation
Marsh Posté le 01-06-2004 à 20:49:28
Dans Borland C (++), y avait un éditeur de ressources (création/modif de feuilles, curseurs, menus, .. tout ce qu'on met dans un fichier .RC).
Avec mon CBuilder 3, y a un programme imagedit.exe (dans le répertoire BIN) qui permet, entre autres, de dessiner des curseurs (menu Fichier/nouveau).
EDIT : ne pas oublier de définir le point actif du curseur (menu Curseur)
Marsh Posté le 01-06-2004 à 21:51:17
MErci pour ta réponse effectivement j'ai trouvé l'interface pour construire un curseur et visiblement il est question de .rc mais je n'ai jamais utiliser de tel fichier dans mes programme comment les inclure ? à quoi servent-ils? et comment déclarer mon nouveau curseur "Pion.cur" dans ce fichier ?
Marsh Posté le 01-06-2004 à 22:23:24
- tu crées ton curseur (c'est déjà fait on dirait )
- tu fais un fichier à l'extension .rc :
|
- tu fais un fichier "make_res.bat" :
|
- tu fais un drag & drop de ton .rc sur ce .bat ; ça devrait te donner un .res du même nom (sinon il y aura un message d'erreur affiché dans la fenêtre)
- tu inclus ce .res au projet... là je ne sais plus comment ça marche en Builder Je sais que dans Delphi il faut mettre {$R fichier.res} mais en C++ c'est autre chose. Il suffit peut-être simplement de l'ajouter au projet via le Project Manager (menu View).
Pour modifier le .res, il suffit de modifier le .rc et de le re-drag & dropper sur le .bat
Ensuite pour charger le cuseur,
#define CURSEURPION 1
Screen->Cursors[CURSEURPION] = LoadCursor(Application->Instance, "CURSEURPION" );
(ou un truc qui y rewssemble)
Par contre si ça ne te dérange pas de garder ton .cur à côté de ton .exe (sans l'intégrer dedans donc), tu oublies tout ce que j'ai dit et tu fais :
#define CURSEURPION 1
Screen->Cursors[CURSEURPION] = LoadCursorFromFile((ExtractFilePath(Application->ExeName) + "Pion.cur" ).c_str());
Marsh Posté le 01-06-2004 à 22:24:18
Ef fait j'arrive à créer un fichier RC dans mon projet mais celui ci contient de genre d'instruction
STRINGTABLE
{
65360, "Jeu"
65361, "Ven"
65362, "Sam"
65363, "Dimanche"
65364, "Lundi"
65365, "Mardi"
65366, "Mercredi"
65367, "Jeudi"
65368, "Vendredi"
65369, "Samedi"
}
et je sent que ça se complique pour une pauvre image quand même ...
Marsh Posté le 01-06-2004 à 22:31:19
Merci beaucoup ANTP j'ai fais la manipulation et j'ai inclus le .res mais le curseurpion n'est pas apparu dans la liste comment l'appeler ? dois je faire :
Screen->Cursors[crMyCursor] = LoadCursor(HInstance, 'curseurpion');
Marsh Posté le 01-06-2004 à 22:38:36
Il n'apparaîtra pas dans la liste.
Tu dois l'assigner par code :
qqchose.Cursor = crMyCursor;
Marsh Posté le 01-06-2004 à 22:38:57
Ta derniere solution convient amplement à mon niveau et je t'en remercie mais malheureusement ça compile mais le curseur ne changent pas, je l'ai pourtant mis dans l'évenement FormCreate ...
Marsh Posté le 01-06-2004 à 22:40:25
Form1->Cursor = CURSEURPION;
Voila la reponse un seul mot pour vous tous MERCI
Vraiment merci beaucoup
Marsh Posté le 01-06-2004 à 22:44:16
Ha tiens j'ai mis un "." au lieu de "->"
Décidement le mélange Delphi/Builder je n'y arriverai jamais
Marsh Posté le 02-06-2004 à 11:50:01
ça marche bien mais c'est etrange car je change le DragCrusor lors de l'evenement drag over et cela ne fonctionne que qd le drag over renvoi true si il renvoi false cela affiche le curseur de sens interdit ...
Marsh Posté le 02-06-2004 à 13:04:30
Bah c'est un peu logique hein C'est comme quand tu fais un drag & drop dans Windows, là où tu ne peux pas déposer l'élément t'as un cercle barré (qui signifie qu'on ne peut pas stationner, et non un sens interdit )
Marsh Posté le 02-06-2004 à 14:14:50
Je comprend oui mais j'ai mis DragCursor à MonCurseur donc meme en cas d'impossibilité de dépose de l'item il doit affichier un curseur qui sera MonCurseur.
Est tu en train de me dire que le curseur d'interdication de stationner est inchangeable ? si non quelle est la propriétée a changer pour l'atteindre ?
Marsh Posté le 02-06-2004 à 14:21:42
DragCursor = curseur affiché quand on peut déposer l'objet
Pour l'autre curseur, il doit y avoir une des valeurs "cr..." qui y correspond et que tu peux peut-être écraser.
Marsh Posté le 02-06-2004 à 14:38:48
oui l'idée d'écraser le cusreur du sens interdit et de le remplacer par le mien provisoirement lors du drag est une belle idée pour contourner le problème...
Edit : je me demande meme si ce ne serait pas mieux de ne pas toucher au affectations de curseur et de juste modifier les cr initiaux...
Merci beaucoup
Marsh Posté le 02-06-2004 à 15:07:15
Citation : Sujet : Creer un nouveau curseur sous Broland C++ 3 |
A quand le Groland C++ ?
ok je sors.
Marsh Posté le 01-06-2004 à 17:18:29
Salut à tous,
Je voudrais créer un nouveau curseur dans l'une de mes application et l'aide de C++ Builder me renvoi vers un editeur de ressource et je ne sais pas ce que c'est...
Quelqu'un a t'il déjà créer un curseur personnaliser pour une application ?
PS : c'est pour un jeu avec des pion, lors d'un drag and drop d'un pion j'aimerai que le curseur devienne un pion chose classique dans la pluspart des jeux
Merci d'avance pour votre aide