Creer un nouveau curseur sous Broland C++ 3

Creer un nouveau curseur sous Broland C++ 3 - C++ - Programmation

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

Reply

Marsh Posté le 01-06-2004 à 17:18:29   

Reply

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)


Message édité par Carbon_14 le 01-06-2004 à 20:51:04
Reply

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 ?

Reply

Marsh Posté le 01-06-2004 à 22:23:24    

- tu crées ton curseur (c'est déjà fait on dirait :D)
- tu fais un fichier à l'extension .rc :


CURSEURPION CURSOR "Pion.cur"


- tu fais un fichier "make_res.bat" :


brcc32 %1
pause


- 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 :D 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());


Message édité par antp le 01-06-2004 à 22:27:21

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 ...

Reply

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');

Reply

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;


Message édité par antp le 01-06-2004 à 22:38:43

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 ...

Reply

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  :)  :)  :)

Reply

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 :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 01-06-2004 à 22:44:16   

Reply

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 ...

Reply

Marsh Posté le 02-06-2004 à 13:04:30    

Bah c'est un peu logique hein :p 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 :o)


Message édité par antp le 02-06-2004 à 13:05:33

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 ?

Reply

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.


Message édité par antp le 02-06-2004 à 14:21:55

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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


Message édité par Rainbow_Efreet le 02-06-2004 à 14:40:40
Reply

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.

Reply

Marsh Posté le 02-06-2004 à 15:26:01    

Lol je n'avais même pas vu !  
Désolé Mr Borland ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed