Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1192 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7
Auteur Sujet :

[C / C++] le topic des bras cassés de la progue windows

n°1261989
HelloWorld
Salut tout le monde!
Posté le 08-12-2005 à 18:10:06  profilanswer
 

Reprise du message précédent :
Petit bug sur la gestion du point pour les nombres flottants:
entrer "0.5"
appuyer su backspace 2 fois (suppression de ".5" )
entrer ".6"
et le point est ignoré [:benou]


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 08-12-2005 à 18:10:06  profilanswer
 

n°1261998
chrisbk
-
Posté le 08-12-2005 à 18:26:09  profilanswer
 

bon a grand coup de DrawFrameControl ([:pingouino]), de subclassing ([:pingouino]), de MouseEventTracker([:pingouino]) j'ai reussi a piger comment mettre des boutons dans une listbox

n°1262066
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 19:55:09  profilanswer
 

HelloWorld a écrit :

Petit bug sur la gestion du point pour les nombres flottants:
entrer "0.5"
appuyer su backspace 2 fois (suppression de ".5" )
entrer ".6"
et le point est ignoré [:benou]


oui, possible, faudra que je regarde ça, ça doit faire 3 ans que j'ai pas touché à ce code :spamafote:
d'ailleurs, tu vas pouvoir le constater : c'est du code d'époque [:kbchris]
 
voici donc le code de la fonction qui affiche la fenêtre de conversion

Code :
  1. extern "C" __declspec(dllexport) LRESULT CALLBACK HookFonction(int code, WPARAM wParam, LPARAM lParam)
  2. {
  3. double euro;
  4. int n;
  5. CString decimal;
  6. CString virg(_T("," )), pt(_T("." ));
  7. LPCTSTR buffer[256];
  8. if ((wParam == VK_PAUSE) && (lParam & 0x80000000)) {
  9.  wndfocus = GetFocus();
  10.  SendMessage(wndfocus, WM_GETTEXT, (WPARAM)255, (LPARAM)buffer);
  11.  // récup les param régionaux et remplace la virgule par le point
  12.  // si elle est présente
  13.  CString *s = new CString((LPCTSTR)buffer, strlen((LPCTSTR)buffer));
  14.  if ((decimal = RecupSymboleDecimal()) == _T("" )) {
  15.   AfxMessageBox(_T("Impossible de récupérer le symbole décimal" ));
  16.  } else if (decimal == _T("," )) {
  17.   if (s->Find(decimal) != -1) {
  18.    n = s->Replace(virg, pt);
  19.   }
  20.  }
  21.  euro = atof(*s);
  22.  euro /= 6.55957;
  23.  s->Format(_T("%.2f" ), euro);
  24.  CDllDlg *dlg = new CDllDlg;
  25.  dlg->Test(s);
  26.  dlg->SetActiveWindow();
  27.  delete s;
  28.                 delete dlg;
  29. }
  30. return(CallNextHookEx(hHook, code, wParam, lParam));
  31. }


 

Code :
  1. CString RecupSymboleDecimal()
  2. {
  3. CString dec;
  4. TCHAR buffer[4] = {0};
  5. if (!(GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buffer, 4))) {
  6.  MessageBox (hWnd, _T("Impossible de récupérer les paramètres régionaux !" ), _T("Erreur" ), MB_OK | MB_ICONERROR);
  7.  return(_T("" ));
  8. } else {
  9.  CString s((LPTSTR)buffer);
  10.  return(s);
  11. }
  12. }


un beau mélange Win32/MFC bien pourri [:kbchris]


Message édité par Harkonnen le 08-12-2005 à 19:56:14

---------------
J'ai un string dans l'array (Paris Hilton)
n°1262070
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 19:59:21  profilanswer
 

putain, mais en le relisant, je me demande pourquoi ça pète pas [:pingouino]
regardez donc les lignes 9 et 10 du source de la fonction RecupSymboleDecimal() [:god]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1262109
chrisbk
-
Posté le 08-12-2005 à 20:48:05  profilanswer
 

? jpige pas trop le pb ? par contre tu fais de la copie a tout va, stun peu moche

n°1262121
chrisbk
-
Posté le 08-12-2005 à 20:59:06  profilanswer
 

houla, ton c++ est si loin que ca ou quoi ?
 
ce brave VS va appeler le constructeur par recopie pour retourner ton objet. Ton proto de fonction serait :
 
CString & RecupSymboleDecimal()
 
 
la tu aurais des emmerdes, mais VS te le dirait
 
le truc c'est que la tu copies buffer dans un CString que tu retournes, donc tu risques une deuxieme copie
 
un return buffer; aurait aussi bien fait l'affaire

n°1262122
chrisbk
-
Posté le 08-12-2005 à 20:59:17  profilanswer
 

HARKO PETYTE BITE §

n°1262124
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 21:00:27  profilanswer
 

ah oui non, autant pour moi, j'avais cru lire "return (&s)" sur la ligne 10
(saloperie de migraine ophtalmique [:benou])
mais c'est vrai qu'il y a de la copie un peu partout, ce truc doit dater de 99, à l'époque ou j'apprenais le C++ à mon ex boulot :D


---------------
J'ai un string dans l'array (Paris Hilton)
n°1262126
chrisbk
-
Posté le 08-12-2005 à 21:02:04  profilanswer
 

et sinon, une raison a ce qu'un COLORREF soit a l'envers de ce qu'on a l'habitude ? (BGR a la place de RGB)

n°1262127
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 21:02:10  profilanswer
 

j'ai effacé mon précédent post après avoir relu le code :o


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 08-12-2005 à 21:02:10  profilanswer
 

n°1262128
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 21:03:13  profilanswer
 

chrisbk a écrit :

et sinon, une raison a ce qu'un COLORREF soit a l'envers de ce qu'on a l'habitude ? (BGR a la place de RGB)


j'ai déjà eu ça ! c'est un bug de GDI+


---------------
J'ai un string dans l'array (Paris Hilton)
n°1262136
chrisbk
-
Posté le 08-12-2005 à 21:08:05  profilanswer
 

meme pas  ? je l'ai en GDI standart, et je refuse de croire que ca soit un bug vu que c'est partout pareil, ou alors les mecs ils en tenaient une sacré


Message édité par chrisbk le 08-12-2005 à 21:08:14
n°1262139
chrisbk
-
Posté le 08-12-2005 à 21:10:06  profilanswer
 

heuh sinon tu connais l'equivalent du SuspendLayout() de winform en win32 ?

n°1262140
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 21:10:48  profilanswer
 

ben l'aut jour j'ai eu le même coup avec la fonction LockBits(), pour récupérer les données d'une image BMP. ça m'a renvoyé du BGR. j'ai recherché, et je suis tombé là dessus :
http://www.codeproject.com/cs/medi [...] ters11.asp
regarde les commentaire du code du mec :

Citation :


/ GDI+ still lies to us - the return format is BGR, NOT RGB.  
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),  
        ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);  


---------------
J'ai un string dans l'array (Paris Hilton)
n°1262142
chrisbk
-
Posté le 08-12-2005 à 21:12:10  profilanswer
 

lol... Mais pourquoi du BGR a la base ? (meme dans le vieux GDI). C'est con, quoi

n°1262144
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 21:14:53  profilanswer
 

chrisbk a écrit :

heuh sinon tu connais l'equivalent du SuspendLayout() de winform en win32 ?


LockWindowUpdate() ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1262166
chrisbk
-
Posté le 08-12-2005 à 21:36:26  profilanswer
 

Bizarre ste fonction ? [:le kneu]
 

Citation :


The LockWindowUpdate function disables or enables drawing in the specified window. Only one window can be locked at a time.  


 
quand meme quoi ? [:le kneu]
 
('thks)

n°1262216
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 23:19:03  profilanswer
 

bon et sinon, pour ma QUESTION ???
NON PARCE QUE JE T'AIDE, JE T'AIDE, MAIS Y'A PAS TROP DE RECIPROCITE HEIN §§§ CHUIS PAS L'ABBE PIERRE MOI §§§

n°1262222
Mackila
Posté le 08-12-2005 à 23:37:58  profilanswer
 

OOUAAAIIISS§§§
 
MON TOPIC SAUVEUR §§§§
 
merci baika, je vais pouvoir poser plein de questions :D
 
 
 
 
Bon avant de poser mes questions, je vais mettre quelque chose au clair tout de suite :
 
 

Harkonnen a écrit :

...
l'avantage de ce topic, c'est qu'on y verra pas ces boulets de webeux ! ... [:kbchris]


 
Donc j'ai quelques questions sur les CDHtmlDialog :P
En effet c'est joli de faire sa boite de dialogue en HTML/CSS  :whistle: , mais je voudrais bien que les images et autres fichiers que je vais utiliser dans ma page (gifs animés, javascripts pourris, toussa...) soient inclus dans les ressources du programme, comme la page html qui me sert de boite de dialogue...
 
 
Sinon les MFC ca me gonfle, surtout le CString quoi :o
Ca vous parait crade si j'écris un truc genre :
 

Code :
  1. template<class T>
  2. CString& operator<<(CString& c, T& t)
  3. {
  4. stringstream ss ;
  5. ss << t ;
  6. return c += ss.str().c_str() ;
  7. }


 

n°1262224
chrisbk
-
Posté le 08-12-2005 à 23:39:58  profilanswer
 

Harkonnen a écrit :

bon et sinon, pour ma QUESTION ???
NON PARCE QUE JE T'AIDE, JE T'AIDE, MAIS Y'A PAS TROP DE RECIPROCITE HEIN §§§ CHUIS PAS L'ABBE PIERRE MOI §§§


 
 
MAIS tu n'as pas POSE DE QUESTION §§§

n°1262226
chrisbk
-
Posté le 08-12-2005 à 23:41:41  profilanswer
 


 
 

Citation :

Donc j'ai quelques questions sur les CDHtmlDialog :P
En effet c'est joli de faire sa boite de dialogue en HTML/CSS  :whistle: , mais je voudrais bien que les images et autres fichiers que je vais utiliser dans ma page (gifs animés, javascripts pourris, toussa...) soient inclus dans les ressources du programme, comme la page html qui me sert de boite de dialogue...


 
la réponse m'interesse aussi [:petrus75]
 
Sinon les MFC ca me gonfle, surtout le CString quoi :o
Ca vous parait crade si j'écris un truc genre :
 

Code :
  1. template<class T>
  2. CString& operator<<(CString& c, T& t)
  3. {
  4. stringstream ss ;
  5. ss << t ;
  6. return c += ss.str().c_str() ;
  7. }

[/quotemsg]
 
 
pkoi t'utilises pas CString.append() ?
 
(et c'est marqué win32 et il debarque avec ces MFC des la deuxieme page lui [:le kneu])

n°1262227
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 23:43:07  profilanswer
 

Mackila a écrit :


Sinon les MFC ca me gonfle, surtout le CString quoi :o
Ca vous parait crade si j'écris un truc genre :
 

Code :
  1. template<class T>
  2. CString& operator<<(CString& c, T& t)
  3. {
  4. stringstream ss ;
  5. ss << t ;
  6. return c += ss.str().c_str() ;
  7. }



u teh n00b, u dont know CString.append()

n°1262228
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 23:43:41  profilanswer
 

chrisbk a écrit :

MAIS tu n'as pas POSE DE QUESTION §§§


bien sur que SI §§ RELIS LA FIN DE LA 1ERE PAGE §§§

n°1262229
chrisbk
-
Posté le 08-12-2005 à 23:45:02  profilanswer
 

Harkonnen a écrit :

bon allez, à mon tour de poser une question l33t [:kbchris]
vous voyez le joli soft ici : http://harko.free.fr/soft/euroconv.zip
je résume brièvement : en plus de proposer un affichage en courbe de bézier ([:kbchris]), c'est une calculatrice, et un convertisseur euro "à la volée", c'est à dire que si vous entrez un nombre dans tout textbox de tout logiciel tournant sous windows, et que vous appuyiez sur "Pause", ça vous affiche une magnifique fenetre avec la valeur convertie en euro.
 
c'est un hook global, initialisé avec CreateHook(), toussa.
 
mais le pb : dans word, ou outlook, ou tous les logiciels microsoft, ma fenetre de conversion s'affiche plein de fois, alors que ça marche nickel partout ailleurs !
 
j'ai pas de source pour l'instant, je vous le poste ce soir, en attendant, commencez à plancher dessus [:petrus75]


 
ah elle est la question ? [:petrus75]
 
bin ecoute j'en sais que dalle, qui plus est j'ai jamais joué avec les hooks donc vala [:petrus75]
 
désolé [:petrus75]

n°1262232
chrisbk
-
Posté le 08-12-2005 à 23:45:37  profilanswer
 

(gdi+ ca link a .net ?)

n°1262239
Mackila
Posté le 08-12-2005 à 23:51:50  profilanswer
 

Parceque tous les controles office sont des gros cacas réécrits spécialement pour office, genre pour qu'on ai le meme office partout meme si on a pas le dernier windows (à l'époque, office 97 sur un NT3.5, on avait quand le look NT4/95 dans office :o ).
 
Et CString.append() ca va pas m'aider à mettre dans un CString toutes les joyeusetes pour lesquelles j'ai deja un ostream& operator<<(ostream& o, joyeusete& j)....  :o  
 
Sinon pour mon truc j'ai trouvé ca : http://www.codeproject.com/dotnet/ImgCssJsHtmlDlg.asp, mais ca me fait chier de d'avoir des <img src="res:/TRUC/#123" /> dans ma page  :o

n°1262240
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 23:53:45  profilanswer
 

bon et sinon, pour votre CDHtmlDialog, je suppose, bande de n00bs, que vous ne connaissez pas le protocole res:// sinon vous ne poseriez pas cette QUESTION STUPIDE §§§

n°1262245
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2005 à 23:56:06  profilanswer
 

chrisbk a écrit :

ah elle est la question ? [:petrus75]
 
bin ecoute j'en sais que dalle, qui plus est j'ai jamais joué avec les hooks donc vala [:petrus75]
 
désolé [:petrus75]


dans ce cas, vu que tu réponds à rien et que moi je réponds à tout, je m'autoproclame King Of This Topic  [:thalis]  
 

chrisbk a écrit :

(gdi+ ca link a .net ?)


 
pourquoi tu veux linker GDI+ à .NET, vu qu'il est encapsulé dans System.Drawing ? [:petrus dei]

n°1262251
chrisbk
-
Posté le 09-12-2005 à 00:17:41  profilanswer
 

Harkonnen a écrit :

bon et sinon, pour votre CDHtmlDialog, je suppose, bande de n00bs, que vous ne connaissez pas le protocole res:// sinon vous ne poseriez pas cette QUESTION STUPIDE §§§


[/quotemsg]
 
non on connait pas, mais merci bcp [:god]  
 

Harkonnen a écrit :

dans ce cas, vu que tu réponds à rien et que moi je réponds à tout, je m'autoproclame King Of This Topic  [:thalis]  


 
WHAT §? U DONT EVEN KNOW TEH DIFFERENCE BETWEEN OWNER DRAW AND CUSTOM DRAW, UR TEH SHIT
 
(en plus je t'ai grillé sur CString.append [:kbchris])
 

Harkonnen a écrit :


pourquoi tu veux linker GDI+ à .NET, vu qu'il est encapsulé dans System.Drawing ? [:petrus dei]


 
nan mais jveux dire, genre sur un w2000 sans .net d'installer, mon apli tirant sur GDI+ va pas etre contente, non ?


Message édité par chrisbk le 09-12-2005 à 00:19:55
n°1262255
chrisbk
-
Posté le 09-12-2005 à 00:20:45  profilanswer
 

Mackila a écrit :

Parceque tous les controles office sont des gros cacas réécrits spécialement pour office, genre pour qu'on ai le meme office partout meme si on a pas le dernier windows (à l'époque, office 97 sur un NT3.5, on avait quand le look NT4/95 dans office :o ).
 
Et CString.append() ca va pas m'aider à mettre dans un CString toutes les joyeusetes pour lesquelles j'ai deja un ostream& operator<<(ostream& o, joyeusete& j)....  :o  
 
Sinon pour mon truc j'ai trouvé ca : http://www.codeproject.com/dotnet/ImgCssJsHtmlDlg.asp, mais ca me fait chier de d'avoir des <img src="res:/TRUC/#123" /> dans ma page  :o


 
 
jpige pas ? continue a utiliser tes std::string et bascule en CString que la ou t'en a vraiment besoin alors ?

n°1262257
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-12-2005 à 00:26:41  profilanswer
 

y'a un équivalent dans .NET pour CDHtmlDialog ? [:god]

n°1262302
chrisbk
-
Posté le 09-12-2005 à 08:41:46  profilanswer
 

[:petrus75] Question suivante
 
Utiliser l'activex IE suffirait pas ? [:petrus75]

n°1262347
Mackila
Posté le 09-12-2005 à 10:04:47  profilanswer
 

Bah avec la CDHtmlDialog, tu peux récupérer les évènements de ta page HTML dans ton code C++ de la même facon que tu récupère les évènements d'une boite de dialogue :

<button id="bouton1">Ne PAS cliquer ici</button>


Code :
  1. HRESULT CMyCDHtmlDialog::onBouton1click(IDHtmlElement*)
  2. {
  3. MessageBox("J'avais dit : ne PAS cliquer !", "OMG!" ) ;
  4. return S_OK ;
  5. }


 
J'suis pas sur qu'on puisse tout récupérer comme ca avec l'activex IE (ou alors je comprend pas pourquoi ils ont fait la CDHtmlDialog...)

n°1262348
chrisbk
-
Posté le 09-12-2005 à 10:05:59  profilanswer
 

Bin ptet en choppant les elements du Navigateur (OnNav & cie ... )

n°1262537
retrox
Posté le 09-12-2005 à 13:46:59  profilanswer
 

chrisbk a écrit :

lol... Mais pourquoi du BGR a la base ? (meme dans le vieux GDI). C'est con, quoi


Parce que en natif le GDI travaille en BGR.  
(hint: les bmp sont en BGR...)
(hint2:dans GL, le format additionnel BGRA a été ajouté à l'époque pour ne pas tuer les perf sous windows (cf BGRA - Overview). De nos jours le swizzling est géré en hard donc ce n'est plus un probleme.)

n°1262539
chrisbk
-
Posté le 09-12-2005 à 13:48:53  profilanswer
 

retrox a écrit :

Parce que en natif le GDI travaille en BGR.  


 
ca je m'en doutais :d mais justement ca m'etonnait parce que dans toutes mes tribulations graphiques (openptc, directdraw et direct3d), je n'ai eu qu'a faire face a du RGB, et donc je trouvais ca bizarre que la couche soft se demarque comme ca

Message cité 1 fois
Message édité par chrisbk le 09-12-2005 à 13:49:20
n°1262566
retrox
Posté le 09-12-2005 à 14:05:37  profilanswer
 

Alors en ce qui concerne la raison philosophique de faire du BGR, je me suis posé la meme question à l'époque, et une fois passé le "ohlalala c'est n'importe quoi! Pourquoi du BGR et pas du RGB?!", je suis arrivé à la conclusion que y a pas plus de raison de faire du RGB que de faire du BGR. J'avais peut-etre meme trouvé une explication quasiment rationnelle, mais je m'en souviens plus  [:tinostar]  
Sinon en DDraw on peut pas avoir de surface en BGR?? Il me semblait que si. Faudrait que je me replonge dedans...

n°1262877
blackgodde​ss
vive le troll !
Posté le 09-12-2005 à 17:10:12  profilanswer
 

chrisbk a écrit :

ca je m'en doutais :d mais justement ca m'etonnait parce que dans toutes mes tribulations graphiques (openptc, directdraw et direct3d), je n'ai eu qu'a faire face a du RGB, et donc je trouvais ca bizarre que la couche soft se demarque comme ca


 
VB 6 se chie dessus aussi la dessus (c'est inversé)
tant qu'a parler d'horreurs comme les MFC hein, j'enfonce le clou :o


---------------
-( BlackGoddess )-
n°1262901
red factio​n
Posté le 09-12-2005 à 17:48:10  profilanswer
 

retrox a écrit :

Alors en ce qui concerne la raison philosophique de faire du BGR, je me suis posé la meme question à l'époque, et une fois passé le "ohlalala c'est n'importe quoi! Pourquoi du BGR et pas du RGB?!", je suis arrivé à la conclusion que y a pas plus de raison de faire du RGB que de faire du BGR. J'avais peut-etre meme trouvé une explication quasiment rationnelle, mais je m'en souviens plus  [:tinostar]  
Sinon en DDraw on peut pas avoir de surface en BGR?? Il me semblait que si. Faudrait que je me replonge dedans...


 
 
Dans le meme genre il y a la couche alpha non geree et qui par defaut est a 0 (alors que ca devrait etre 255 logiquement :()
Quand tu doit recuperer des trucs du gdi pour les fillé a opengl c tjs drole  :sweat:


Message édité par red faction le 09-12-2005 à 17:51:46
n°1262938
chrisbk
-
Posté le 09-12-2005 à 18:26:41  profilanswer
 

bon, j'ai un gros pas compris, la
 
j'ai une listbox en owner draw. De temps en temps windows appelle une fonction a moi en lui filant un HDC, je barbouille dedans et on est super content. Du text, des FillRects toussa
 
Seulement la je viens d'ajouter une image que j'ecris dans l'HDC fourni via BitBlt. ca marche, mais si je fais passer une fenetre sur ma listbox, alors l'image disparait. Le texte reste la, les rectangles FillRecté aussi, mais pas l'image
 
Pourquoi elle, elle s'en va ?  
 
ca fait chier, fo que je gere du double buffer & cie ? ca va etre archi penible ...

n°1262943
chrisbk
-
Posté le 09-12-2005 à 18:29:13  profilanswer
 

et REPONDEZ

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7

Aller à :
Ajouter une réponse
 

Sujets relatifs
sniffer sous windowscreer raccourci vers le bureau windows
Code de retour d'un batch windowsCompter le nombre de ligne dans un fichier texte sous Windows
utilisation du port parallele sous windows XPScript windows
Plantage sur une desallocation d'une structure sous Windows 2003Pb de free d'une variable en C sous Windows 2003 TS
Compilation de routines Fortran pour Unix sous windows[c] recevoir un flux multicast sous WINDOWS (avec visual C++)
Plus de sujets relatifs à : [C / C++] le topic des bras cassés de la progue windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR