aussehen der Button wird komisch
-
außerdem hat es eine CPU auslastung von 30% obwohl es nur ein bild zeichnet o_O
obwohl ich das LoadBitmap schon aus wm_paint rausgetan habe.
-
1. problem ist gelöst, muss natürlich ein BeginPaint hin=)
und 2. noch nicht mit den buttons
-
Du hast kein Manifest in Deiner EXE für COM-CTL 6.0
Kann es sein, dass Du Deine Release Version umgestellt hast auf "Nicht UNICDOE".
Das ComCtl 6.0 Manifest wird in der stdafx.h eingetragen undnur für Unicode Projekte erzeugt, schau Dir die #ifdef's an.
-
nein, ich hab nur die Schriftart des Dialogs verändert und benutze Unicode.
Kann ich das irgendwie manuell einfügen?
-
Dann dürfte es aber in Debug und Release gleich aussehen, wenn Du keines hast.
Steht nicht das folgende am Ende Deiner stdafx.h
#ifdef _UNICODE #if defined _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_IA64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_X64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") #else #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") #endif #endif
-
was ist stdafx.h? Ich habe einen Dialog als Ressource eines Winapi projekts eingebunden. Ich habe aber diese Datei über die Suche öfters gefunden:
in einer steht das hier:// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__8E60BE0A_2516_11D4_8ABF_00B0D02D1522__INCLUDED_) #define AFX_STDAFX_H__8E60BE0A_2516_11D4_8ABF_00B0D02D1522__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdisp.h> // MFC Automation classes #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__8E60BE0A_2516_11D4_8ABF_00B0D02D1522__INCLUDED_)aber wie gesagt da gibts wohl 10 verschiedene oO
-
ist sehr wichtig

-
Na und?
Hast Du ein Manifest oder nicht, hast Du den geposteten Code eingebaut oder nicht?
-
würde ich ja gerne, aber mit
#include "stdafx.h"
#include <stdafx.h>
wird sie bei beides Maln nicht gefunden...
-
1. Dann lies mal bitte was zu Manifesten und ComCtl 6.0
2. Meinen geposteten Code kannst Du in jedes Deiner Module setzen. stdafx.h ist halt der Standard, wenn man ein Projekt mit dem Wizard erzeugt.
-
danke Martin
wenn ich den Code einbinde dann klappt es. Ist aber sehr unüblich und seltsam... tut man diesen Code normal in die stdafx und dann diese einbinden?
Danke
-
Was heißt unüblich. Das ist ein spezieller Compiler Code, der vom Linker gesammelt wird.
Es ist egal wo und wie oft er in Deinem Progamm steht, Hauptsache einmal.
Technisch gesehen würde er bei Nutzung in der stdafx.h in jedem Modul stehen..
-
ok danke, kann ich noch was in die Datei einfügen damit mein Dialog bei den Abrundungen links und rechts oben im Eck keinen schwarzen Hintergrund hat und eckig ist? Also so bei allen Fenstern...
Oder hat das nichts damit zu tun?
-
Das hat damit nichts zu tun, sondern das Dein Hintergrund und Deine Hintergrundfarbe in Deinem Fenster falsch behandelt wird.
-
ich muss das Thema nochmal aufrollen.
Der Code von Martin Richter funktioniert leider nur mit unicode,
wenn ich mit ansi kompiliere dann sehen sie immernoch anders aus.
-
Jo! Dann schau Dir die #ifdef's an
-
kann ich das ifndef unicode einfach löschen? Wozu ist es dann überhaupt im Code?
-
In der Beta zu der VC 2005er hatte ich dies als Bug angemahnt.
Aber laut Microsoft arbeitet comctl 6.0 nur unter Unicode ohne Flausen.
Also by DesignAllerdings kenne ich keine großen Probleme.
Andere Frage: Warum willst Du kein Unicode!
-
ok danke dann lösche ich das einfach.
Natürlich benutze ich Unicode immer aber ich mags halt gerne wenn bei jeder Einstellung alles klappt (will mich nicht von einstellungen abhängig machen)
-
aber noch ne andere Frage...
wenn ich den Code mit nem Dialog in einer Dll, welche in inejcte benutze, sieht er wieder so komisch aus.