Jak zobrazit ° – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Jak zobrazit ° – C / C++ – Fórum – Programujte.comJak zobrazit ° – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
oxidián0
Věrný člen
12. 7. 2015   #1
-
0
-

V popisku ovládacího prvku v souboru source mám 45° a místo toho se mi zobrazuje něco jako 45Á° jak to vyřešit aby se to správně zobrazilo?

Nahlásit jako SPAM
IP: 78.45.87.–
Reklama
Reklama
Matěj Andrle+1
Grafoman
12. 7. 2015   #2
-
0
-

#1 oxidián
Unicode?

Nahlásit jako SPAM
IP: 78.136.149.–
oxidián0
Věrný člen
12. 7. 2015   #3
-
0
-

Soubor je uložen v UTF8, winapi

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
12. 7. 2015   #4
-
0
-

#3 oxidián
No právě! Musíš jej také jako UTF8 zobrazovat..

Nahlásit jako SPAM
IP: 78.136.149.–
oxidián0
Věrný člen
12. 7. 2015   #5
-
0
-

Jak se to dělá? To musím deklarovat v resources nebo přímo v programu?

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
12. 7. 2015   #6
-
0
-

#5 oxidián
Odpověděl bych rovnou, avšak GUI nezmiňuješ... (Unicode string se deklaruje za pomoci \u či \U)

Nahlásit jako SPAM
IP: 78.136.187.–
oxidián0
Věrný člen
12. 7. 2015   #7
-
0
-

No je to win32 pod Visual Studio oknová aplikace

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
12. 7. 2015   #8
-
0
-

#7 oxidián
Co to definování UTF-8 stringu? (\u)

Nahlásit jako SPAM
IP: 78.136.162.–
oxidián0
Věrný člen
12. 7. 2015   #9
-
0
-

To jako jak? Přímo v souboru .rc?

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
12. 7. 2015   #10
-
0
-

#9 oxidián
http://stackoverflow.com/questions/402283/stdwstring-vs-stdstring

Nahlásit jako SPAM
IP: 78.136.155.–
oxidián0
Věrný člen
12. 7. 2015   #11
-
0
-

Mohl bys kódu níže ukázat jakým způsobem přidat text do checkboxu? Přidat ne přepsat.

//Global Variables
bool checked;
HWND CheckBox1;

//WindProc
case WM_CREATE:
    CheckBox1 = CreateWindow("BUTTON", "",
                 WS_VISIBLE | WS_CHILD | BS_CHECKBOX,
                 20, 20, 12, 12,
                 hwnd, (HMENU)1, NULL, NULL);
break;

case WM_COMMAND:
switch (LOWORD(wParam)) {
    case 1:
        checked = IsDlgButtonChecked(hwnd, 1);
        if (checked) {
            CheckDlgButton(hwnd, 1, BST_UNCHECKED);
        } else {
            CheckDlgButton(hwnd, 1, BST_CHECKED);
    break;
break;
Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
13. 7. 2015   #12
-
0
-

#11 oxidián
Proto jsem chtěl znát GUI...

http://stackoverflow.com/questions/20458769/how-to-pass-to-createwindow-win32-api-the-title-bar-string-as-function-param

Máš tam, jak z ANSI titulku udělat WideChar...

Nahlásit jako SPAM
IP: 90.182.189.–
vitamin+8
Grafoman
13. 7. 2015   #13
-
0
-

Nie je win api kodovane bud v ascii alebo UTF-16?

Nahlásit jako SPAM
IP: 195.28.77.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Matěj Andrle+1
Grafoman
13. 7. 2015   #14
-
0
-

#13 vitamin
Viz ten odkaz.

Nahlásit jako SPAM
IP: 90.182.189.–
oxidián0
Věrný člen
13. 7. 2015   #15
-
0
-

ANSI znamená UTF-16? Můj program pracuje s wide characters. Ale neodpověděl si mi na otázku jak do titulku, který byl načtený a zpracovaný z resources mám ručně přidat string. K čemu je mi že mi říkáš ať to zkonvertuju, já nevím jak to tam přidat. Je na to nějaká funkce?

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
13. 7. 2015   #16
-
0
-

#15 oxidián
"Microsoft's ANSI character set, with equivalent Unicode names and character references." Rozhodně to však Unicode není!

To co přidáváš ručně zkonvertuješ dle linku, kterýžto jsem ti zaslal...

Nahlásit jako SPAM
IP: 90.182.189.–
oxidián0
Věrný člen
13. 7. 2015   #17
-
0
-

Ale já tam nic ručně nepřidávám. Já se ptám jak to přidat.

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
13. 7. 2015   #18
-
0
-

#17 oxidián 

CreateWindow("BUTTON", ""...

Zde stringy očividně ručně přidáváš.

Nahlásit jako SPAM
IP: 90.182.189.–
Radek Chalupa
~ Redaktor
0
Super člen
13. 7. 2015   #19
-
0
-

Ve zdrojovém kódu si můžeš nadefinovat pole třeba nějak takhle:

wchar_t pt[] = {/*tady budou čísla unicode znaků*/, L'\0'};

A pak pomocí SetWindowTextW popř. SetDlgItemTextW nastavit pt příslušnému oknu.

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián0
Věrný člen
14. 7. 2015   #20
-
0
-

#18 Matěj Andrle

To byl jen příklad který jsem poslal abys mi na něm ukázal jak přidat string do tlačítka. Já to tlačítko ale ve skutečnosti načítám ze souboru .rc . Proto se tu pořád dokolečka ptám na jedno a to samý.  Mý/ílka možná nastala z překlepu "V popisku ovládacího prvku v souboru source mám 45° "

mělo být: "V popisku ovládacího prvku v souboru resources.rc mám 45°"

Prostě se ten prvek vytváří automaticky. Je už na stránce. Mám funkci, která vytváří Property Sheet Pages a s tím se vytvoří i ten můj prvek. Já tedy nevím jak do něj přidat ten text.

Mám to teda udělat tak, že pošlu dotaz na ovládací prvek, aby mi vrátil text (45), a k tomu přidám pomocí

SetDlgItemTextW ten stupeň? Že se to neobejde bez toho dotazu a nejde tam přidat aniž by se číslo 45 přepsalo...

Nahlásit jako SPAM
IP: 78.45.87.–
Matěj Andrle+1
Grafoman
14. 7. 2015   #21
-
0
-

#20 oxidián
Bez WideChar to nejde:

http://stackoverflow.com/questions/15580992/storing-and-retrieving-utf-8-strings-from-windows-resource-rc-files

Nahlásit jako SPAM
IP: 90.182.189.–
Radek Chalupa
~ Redaktor
0
Super člen
14. 7. 2015   #22
-
0
-

Pokud jde o text v .rc souboru, tak alespoň na českých Windows to funguje, právě jsem to zkusil, jen musíš mít jazkyk toho dialogu nastavený na češtinu. Do "caption" buttonu jsem napsal 45° a je to tam jak v resource editoru, tak po spuštění..

Možná máš problém že jsi nechal při založení projektu vygenerovat ten .rc soubor a ten je nastavený na angličtinu. Zkus začít prázdným proektem a když přidáš resource, bude už český. Vyzkoušeno ve VS 2013, ale ve VS2008 jsem to dělal stejně a na problémy se znaky jako "copyright" a pod jsem nenarazil.

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián
~ Anonymní uživatel
758 příspěvků
14. 7. 2015   #23
-
0
-

#22 Radek Chalupa
Nemohu se teď zapojit do programování. Řeším teď jiné věci (problém s PC).  Mohl byste sem hodit ten kód co jste použil. Než se k tomu vrátím tak beztak vše zapomenu.

Nahlásit jako SPAM
IP: 78.45.87.–
Radek Chalupa
~ Redaktor
0
Super člen
15. 7. 2015   #24
-
0
-

#23 oxidián
To není věc zdrojového kódu. Prostě jsem zkusil v jednom existujícíim projektu do textu tlačítka přidat to "kolečko" a spustit. Jenom jak jsem psal musí ten resource mít nastavený jazyk češtinu, nejlépe tak že nepoužješ ten vygenerovaný při založení projektu, ale do projektu kde není .rc soubor přidáš nějaký resource (třeba právě ten dialog) a VS založí soubor .rc a resource.h už s češtinou.

PS: Domnívám se že ten .rc soubor klidně může být v ANSI (samozřejmě se správně nastaveným jazykem/kódováním). Windows totiž běží v unicode a všechny texty oken jsou interně uložený v unicode i když např použiješ SetWindowsTextA, tak text se automaticky převede do unicode a poté uloží do bufferu pro text okna jako unicode. Tj. jakmile se text správně načte z resource, převede se do unicode (předpokládám že voláním API fce MultiByteToWideChar s příslušným parametrem pro znakovou sadu) a tak by pak aplikace měla bez problémů běžet na libovolné jazykové verzi Windows.

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián0
Věrný člen
16. 7. 2015   #25
-
0
-

Ještě pro ujasnění:

jedná se o projekt opensource který má být přistupný developerům co nepoužívají češtinu, tak není to divné nastavovat do projektu češtinu?

Nahlásit jako SPAM
IP: 78.45.87.–
Radek Chalupa
~ Redaktor
0
Super člen
16. 7. 2015   #26
-
0
-

#25 oxidián
To byla reakce na původní dotaz, kde jsi psal že se to v runtime nezobrazuje to co máš v resource editoru. Tak jsem napsal že mě to funguje a co pro to udělat.

Předpokládám  bude platit obecně (tj nejen pro češtinu), že jazyk resources musí odpovídat kódování toho .rc souboru, které nejspíš bude odvizené od aktuálního jazykového nastavení Windows.

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián0
Věrný člen
2. 9. 2015   #27
-
0
-

Tak jsem po delší době zpátky.

V tom souboru mám:

CAPTION "Map/Terrain°"

A v dialogovém okně se mi zobrazuje: (A°)° ... místo (A°) je znak A kde ° je nad písmenem A. Jsou to dva znaky, takže  kolečko se zobrazí, ale je tam navíc před tím cizí znak.

Nechápu jak mám nastavit jazyk souboru. Není problém nastavit UTF-8 v externím editoru, ale jak nastavit jazyk? Zakládat nový soubor se mi dvakrát nechce.

Edit: No dobre, tak jsem to udělal, odstranil jsem ten soubor z projektu a znovu ho přidal ... podotýkám že v souboru je text:

CAPTION "Map/Terrain°Čeština"

a po zkompilování se žádný zázrak nestal, Češtinu tam stále nevidím

Ještě jsem zkoušel rady co jsou zde:

http://stackoverflow.com/questions/1319461/how-do-i-turn-off-unicode-in-a-vc-project

a nic z toho mi to nepomohlo

Nahlásit jako SPAM
IP: 78.45.87.–
oxidián0
Věrný člen
2. 9. 2015   #28
-
0
-

Ještě jsem navíc zkusil změnit toto

pg.pszTemplate = MAKEINTRESOURCE(IDD_MSGS + i);	

(pg je stránka property sheet)
na

pg.pszTemplate = MAKEINTRESOURCEA(IDD_MSGS + i);	

a do common.rc hned na začátek jsem vrazil:

LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

místo angličtiny

a čeština se stále nezobrazuje.

Tak fakt už nevím co s tím

Nahlásit jako SPAM
IP: 78.45.87.–
oxidián0
Věrný člen
Nahlásit jako SPAM
IP: 78.45.87.–
peter
~ Anonymní uživatel
2547 příspěvků
2. 9. 2015   #30
-
0
-

45Á° - a s carkou pouziva kodovani unicode. Kdyz to zobrazis jako unicode, zobrazi se to ok. Kdyz to zobrazis nebo prekodujes v jinem kodovani, tak je vysledek nejisty.
Kdyz je soubor txt, tak se tam jazyk nijak neuklada. Ale treba, kdyz das u excelu export do csv, tak si ulozi jako prvni znak souboru unicode BOOM znak. Coz je pak dost neprijemne. Vetsinou u txt souboru totiz vis, v jakem jsou kodovani a taky je to starsi format, kde se kodovani proste neresilo.

Mno, ale k veci. C neznam.
V php to resim tak, ze soubor nactu a zobrazim. Pokud to zobrazuje spatne v html, tak pridam jeste php funkce header() a zmenim kodovani, ktere mi vnucuje server na utf. Cili, takhle je to v normalnim priklade, kde kodovani neresi, pocitaji s tim, ze default server php kodovani je stejne jako v souboru

<?php
file_get_contents('slozka/soubor.txt'); // soubor v utf
echo $str;
?>

Tady se kodovani resi

<?php
header("Content-Type: text/html; charset=utf-8");
file_get_contents('slozka/soubor.txt'); // soubor v utf
echo $str;
?>

A pokud mas ale stranku ve win1250 a soubor v utf, tak je treba to prekodovat. V php je na to mb_conv nebo iconv

<?php
header("Content-Type: text/html; charset=win-1250");
$str = file_get_contents('slozka/soubor.txt'); // soubor v utf
$str = iconv('UTF-8', 'windows-1250', $str);
echo $str;
?>

http://cz.php.net/manual/en/ref.mbstring.php - pro utf jsou v php spesl funkce. klasicke nepocitaji s tim, ze znak muze byt kodovani jako dva znaky, takze selhavaji.
Mozna je to tvuj pripad, soubor nactes, pak pouzijes nejakou funkci jako substring a ona se udela spatne, protoze cecko ma pro praci s utf jinou funkci pro substring.

A treti pripad je, kdyz mas databazi, mysql 5+ a tam mas chybne kodovani. To nebudu rozepisovat.

Mno, a jeste mne napada, ten soubor, neotviras to treba nejakym editacnim programem? V tom programu mas treba nastavene spatne kodovani. Casto se to treba resi u PSPad, ze on pridava do souboru BOM znak a na serveru pak takovy program dela problemy. Je treba v programu nebo pri zakladani noveho projektu rici v jakem kodovani budes pracovat a zda tam chces ci nechces prodat BOM znak (mozna v nastaveni). Pokud soubor otevres ted, kdyz ma ten program nastavene treba win1250, tak jej otevre jako win1250. nebo mozna jej otvira jako win120 i v UTF nastaveni, protoze ocekava BOM znak. (viz treba excel, ten export do csv a import v kodovani utf, zkus si tam odstranit ten znak a on to pak neumi s diakritikou spravne precist).

Cili, pokud najdes to nastaveni, zmenis ho, zkus uplne vse pozavirat, udelat novy projekt a testni si, zda to ulozi spravne v utf nebo ne, zda se tam zobrazi do A s carkou v editoru, ktery utf neumi (notepad, mozna, ale mozna reaguje na BOM znak a pak by to zobrazil uz ve spravnem kodovani bez A s carkou)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:fc1d:c6...–
oxidián0
Věrný člen
2. 9. 2015   #31
-
0
-

To je v C++ a kodovaní UTF-8. Jde jen o to jak to zobrazuje ten program (který jsem zkompiloval). Já vážně nechápu co sem cpeš PHP. Zobrazuje to jako Unicode to mi je jasné, ale ° není Unicode.

Nahlásit jako SPAM
IP: 78.45.87.–
peter
~ Anonymní uživatel
2547 příspěvků
2. 9. 2015   #32
-
0
-

No, jen jsem ti chtel dat priklad, jak se to resi v php, pac v c++ to bude mozna podobne. Tak si toho nevsimej, no :)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:fc1d:c6...–
oxidián0
Věrný člen
3. 9. 2015   #33
-
0
-

Náhodou jsem zjistil, že Common Dialog Boxes

https://msdn.microsoft.com/en-us/library/cc194807.aspx

https://www-user.tu-chemnitz.de/~ygu/petzold/ch11c.htm

nepodporuje languages kromě případů že se to řeší nějak přes templates. Na prvním odkazu píšou, že je tam podporována jen angličtina.  Můžete mi říct zda můj kód podporuje language (jiný jazyk než ang.)?

#include "makewindows.h"

#include "../callback/editorsDlgProc.h"
DLGPROC procs[NUM_PAGES] =
{
	&IMsgsDlgProc,
	&PlyDlgProc,
	&VictDlgProc,
	&DisDlgProc,
	&Map1DlgProc,
	&Units1DlgProc,
	&Triggers1DlgProc,
	&Map2DlgProc,
	&Units2DlgProc,
	&Triggers2DlgProc
}; // 3 modules no. 2 must be on the end - after Map,Units,Triggers modules 1

// PAGES_TEMPLATES_BACKUP pagesBackup;

HWND MakeMapView(HWND sheet, int cmdshow)
{
	HWND ret;
	RECT rect;

	GetWindowRect(sheet, &rect);
	ret = CreateMapView(sheet, rect.right + MAP_OFFSET, rect.top, &scen);
	ShowWindow(ret, cmdshow);

	return ret;
}

/*
	MakeSheet: Creates the main property sheet window.

	Parameters:
	HINSTANCE app: Handle to the application loading the sheet.

	Note: Called once and only once by WinMain().
*/
HPROPSHEETPAGE pages[NUM_PAGES];

HWND MakeSheet(HINSTANCE app)
{
	PROPSHEETHEADER header;
	PROPSHEETPAGE pg;	//used to create each page
	HWND sheet;

	//create pages

	pg.dwSize = sizeof(PROPSHEETPAGE);
	pg.dwFlags = PSP_DEFAULT;
	pg.hInstance = app;

	for (int i = 0; i < NUM_PAGES; i++)
			{
			pg.pszTemplate = MAKEINTRESOURCEA(IDD_MSGS + i);	//template IDs are in display order
			pg.pfnDlgProc = procs[i];
			pg.lParam = 0;
			pages[i] = CreatePropertySheetPage(&pg);
			} // for
  
	// Save handlers of the pages for convenience:
	propdata.pages.info = pages[0];
	propdata.pages.players = pages[1];
	propdata.pages.victory = pages[2];
	propdata.pages.disables = pages[3];
	propdata.pages.map1 = pages[4];
	propdata.pages.units1 = pages[5];
	propdata.pages.triggers1 = pages[6];
	propdata.pages.map2 = pages[7];
	propdata.pages.units2 = pages[8];
	propdata.pages.triggers2 = pages[9];
  
	//create sheet
	header.dwSize = sizeof(header);
	header.dwFlags = PSH_MODELESS | PSH_USECALLBACK |
		PSH_NOAPPLYNOW | PSH_NOCONTEXTHELP | PSH_USEICONID;
	header.hwndParent = NULL;
	header.hInstance = app;
	header.pszIcon = MAKEINTRESOURCE(IDI_LOGO);
	header.pszCaption = szTitle;
	header.nPages = NUM_PAGES;
	header.nStartPage = 0;
	header.phpage = pages;

	// The function defined in propsheetproc.cpp
	// initializes the property sheet
	header.pfnCallback = &PropSheetProc;

	sheet = (HWND)PropertySheet(&header);
	
	PropSheet_RemovePage( sheet, 4, pages[4] );
	PropSheet_RemovePage( sheet, 5, pages[5] );
	PropSheet_RemovePage( sheet, 6, pages[6] );

	//add status bar here (can't be done in propsheet_init.cpp PropSheetProc )
	propdata.statusbar = CreateWindow(STATUSCLASSNAME, welcome,
		WS_CHILD | WS_VISIBLE, 0, 0, 0, 0,
		sheet, (HMENU)IDS_MAIN, hApp, NULL);
	return sheet;
}

// HINSTANCE app: Handle to the application using the sheet
void SwitchPages(HINSTANCE app, HWND hPropSheetDlg, Scenario * scenario )
{
	HWND hCurrentPage = PropSheet_GetCurrentPageHwnd(hPropSheetDlg);
	int currentPageIndex = PropSheet_HwndToIndex( hPropSheetDlg, hCurrentPage);

	if ( scenario->isOpen() )
		{ // Remove map1, units1, triggers1
		PropSheet_RemovePage( hPropSheetDlg, 4, pages[4] );
		PropSheet_RemovePage( hPropSheetDlg, 5, pages[5] );
		PropSheet_RemovePage( hPropSheetDlg, 6, pages[6] );
		
		//PropSheet_RemovePage( hPropSheetDlg, 7, pages[7] );
		// Nutné je odebrat 8, jinak se při otevření scénáře objeví Units2
		PropSheet_RemovePage( hPropSheetDlg, 8, pages[8] );
		}
	else
		{ // Remove map1, units1, triggers1
		PropSheet_RemovePage( hPropSheetDlg, 4, pages[4] );
		PropSheet_RemovePage( hPropSheetDlg, 5, pages[5] );
		PropSheet_RemovePage( hPropSheetDlg, 6, pages[6] );
		// In the case that it is already closed:
		PropSheet_RemovePage( hPropSheetDlg, 7, pages[7] );
		PropSheet_RemovePage( hPropSheetDlg, 8, pages[8] );
		PropSheet_RemovePage( hPropSheetDlg, 9, pages[9] );
		}

	PROPSHEETPAGE pg;	//used to create each page

	//create pages
	pg.dwSize = sizeof(PROPSHEETPAGE);
	pg.dwFlags = PSP_DEFAULT;
	pg.hInstance = app;	
	
	const int PAGES_NO_CHANGE = 4;
	for (int i = 0; i < 6; i++)
			{
			int a = PAGES_NO_CHANGE+i;
			pg.pszTemplate = MAKEINTRESOURCEA(IDD_MSGS + (PAGES_NO_CHANGE+i) );	//template IDs are in display order
			pg.pfnDlgProc = procs[PAGES_NO_CHANGE+i];
			pg.lParam = 0;
			pages[PAGES_NO_CHANGE+i] = CreatePropertySheetPage(&pg);
			} // for
  // Save handlers of the pages for convenience:
	propdata.pages.map1 = pages[4];
	propdata.pages.units1 = pages[5];
	propdata.pages.triggers1 = pages[6];
	propdata.pages.map2 = pages[7];
	propdata.pages.units2 = pages[8];
	propdata.pages.triggers2 = pages[9];

	if ( scenario->isOpen() )
	 {
	 PropSheet_InsertPage( hPropSheetDlg, 4, pages[4]);
	 PropSheet_InsertPage( hPropSheetDlg, 5, pages[5]);
	 PropSheet_InsertPage( hPropSheetDlg, 6, pages[6]);
	 }
	else
 	 {
   PropSheet_InsertPage( hPropSheetDlg, 7, pages[7]);
   PropSheet_InsertPage( hPropSheetDlg, 8, pages[8]);
   PropSheet_InsertPage( hPropSheetDlg, 9, pages[9]);
   }
	PropSheet_SetCurSel( hPropSheetDlg, hCurrentPage, currentPageIndex);
}
Nahlásit jako SPAM
IP: 78.45.87.–
oxidián0
Věrný člen
3. 9. 2015   #34
-
0
-

Tak češtinu se mi nepovedlo zobrazit pravděpodobně proto, že Property sheet využívá knihovnu Common Dialog boxes, která podporuje jen angličtinu. Šaškovat s šablonami nechci, takže jednoduché řešení nakonec:

/* Options: Map Viewer */
IDD_MAPVIEWER DIALOG DISCARDABLE  75, 0, 186, 140
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Map Viewer options"
FONT 8, "MS Sans Serif"
BEGIN
  LTEXT		   "",IDC_STATIC,5,5,160,32,SS_LEFT
  GROUPBOX        "Rotation",IDC_STATIC,3,5,180,28
  AUTOCHECKBOX    "45",IDC_O_MPROTATION,9,18,20,8,BS_AUTOCHECKBOX | WS_TABSTOP
  LTEXT		   "°",IDC_STATIC,29,18,5,2,SS_LEFT
	DEFPUSHBUTTON   "OK",IDOK,70,118,50,14
END


Normálně jsem oříznul to první písmeno tak aby zůstalo jen kolečko.

Dík za radu.

Nahlásit jako SPAM
IP: 78.45.87.–
Radek Chalupa
~ Redaktor
0
Super člen
3. 9. 2015   #35
-
0
-

Zkusil bych jako font nastavit "MS Shell Dlg" - jak to nastaví VS při vytvoření dialogu v resource editoru.

A nemyslím že by shell podporoval pro dialogy jen angličtinu, ten odkaz výše uvedený je snad ještě z doby windows 95 a projekt pro ANSI..

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián0
Věrný člen
3. 9. 2015   #36
-
0
-

Myslím že MS Shell Dlg nemám nainstalovaný v PC. Mám tam jen pár fontů (Windows XP)

Nahlásit jako SPAM
IP: 78.45.87.–
Radek Chalupa
~ Redaktor
0
Super člen
3. 9. 2015   #37
-
0
-

#36 oxidián
Myslím že máš (i ve Windows XP) - ten název fontu není font v pravém slova smyslu, ale říká tím kompilátoru resource že má použít font, který systém (shell) používá pro dialogová okna.

Prostě to v .rc souboru u toho skriptu dialoguručně přepiš a zkus zda se něco změní. Jestli se nepletu tak např. tenhle font zajistí aby se znaky v hesle (ne)zobrazovaly jako kolečka/hvězdičky - jinak to jsou mohou třeba jen malé tečky nebo svislé čáry.

Radek Chalupa
- individuální konzultace, školení programování (C/C++, WinAPI, COM, ActiveX, ATL, C#, NET Framework, MFC)
- vývoj software na zakázku
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 89.177.51.–
oxidián0
Věrný člen
4. 9. 2015   #38
-
0
-

No ale to by znamenalo, že by se mohl měnit vzhled dialogového okna, což není ideální. Protože pokud někdo používá jiný font než já (myslím že je to Arial) tak by se mu nezobrazily správně ty ovládací prvky a text v dialogovém okně. Nejlepší by bylo vrazit tam fixně Arial, protože ten si myslím je na všech Windowsech.

A nemůže to být tím že nějaký cpp soubor je v unicode? Zrovna jsem na jeden narazll když se mi zobrazila hláška při ukládání že soubor obsahuje znak který není v unicode...

Nahlásit jako SPAM
IP: 78.45.87.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 91 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý