NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: C++ tlačítka v mím programu se zoobrazujou na každým jiným monitoru jinde

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Dominik Rozporka:24.3.2017 0:12

Čau potřebuju pomoct můj program je dělanej ve windows forms application
a ten v tom programu tlačítka se zoobrazujou na každým jiným monitoru jinde
mám to nějak udělaný na fullscreen nastavil jsem to už nevim podle jakýho návodu
podle mě to je tim že tam mám nastavený rozlišení svího monitoru
pokud to je opravdu tim tak nevim jak mám dát do těch nějakých dvou proměnných to rozlišení
do jedný proměnný výška a do druhý proměnný šířka
zkoušel jsem tyto dva návody a nějak mi to s tim nešlo když jsem použil jeden z nich teď nevim kterej to byl
tak to ve visual studiu hlásilo něco s MyForm.obj
http://stackoverflow.com/…olution-in-c
http://www.cplusplus.com/…ices/108795/ -tady ty tři poslední posty to jsem zkoušel

 
Odpovědět
24.3.2017 0:12
Avatar
HONZ4
Člen
Avatar
HONZ4:24.3.2017 8:12
  1. Už jsem ti to sice jednou psal, ale protože by ti to hodně pomohlo, doporučuji ti přechod na C#. To co nyní umíš z C++, budeš umět do týdne a mnohem lépe. Pokud chceš dělat WinForms, tak toho z čistého C++ moc nepoužiješ, takže se v podstatě učíš jazyk CLI.
  2. pokud chceš okno přizpůsobovat monitoru, tak bys měl přijít na sice složitější, ale sofistikovanější WPF (takže C#)
  3. Pokud děláš WinForms, tak doporučuji to dělat v čistém .net, takže používej jeho nástroje:
Rectangle r = Screen::PrimaryScreen->WorkingArea;

4. měl by ses opravdu zamyslet nad tím pravopisem, takto vypadáš jak trotl

Editováno 24.3.2017 8:14
 
Nahoru Odpovědět
24.3.2017 8:12
Avatar
Dominik Rozporka:24.3.2017 13:36

no já vim já češtinu neřešim a kdybych řešil tak nevim jestli bych psal dobře
jinak děkuju za radu v C# budu programovat asi jindy proto že nevim jestli když bych nakopíroval ty moje kódy
do C# projektu tak jestli by to fungovalo proto že C# neumim
jinak jen tak se zeptám i když asi potom přejdu na C# a možná se začnu učit i DirectX
tak jde v C++ windows forms udělat něco takovídleho?
https://www.youtube.com/watch?…

 
Nahoru Odpovědět
24.3.2017 13:36
Avatar
Dominik Rozporka:24.3.2017 15:34

hmmm.. tak to nějak nejde proto že to s tim Rectangle r = Screen::Prima­ryScreen->WorkingArea;
nefunguje dal jsem tohle ten kód do funkce void InitializeCom­ponent(void)
za nastavení rozlišení okna a nic když si změnim rozlišení ve windows tak to mám někde napravo místo toho
aby to bylo uprostřed

 
Nahoru Odpovědět
24.3.2017 15:34
Avatar
HONZ4
Člen
Avatar
HONZ4:24.3.2017 18:12

Rectangle r = Screen::Prima­ryScreen->WorkingArea;
je jen ukázka jak jednoduše získat velikost prim. obrazovky, (resp. pracovní plochy), pozici tlačítka si už musíš vypočítat (např. button->Left = ((r.Width/2)-(button->Width/2)); ) i když tobě by mělo stačit maximalizovat okno po spuštění a z jeho rozměrů vypočítat pozici tlačítka.
Ale jak jsem už napsal WinForms se na tohle nehodí, dá se to sice udělat ale dost nešikovně (hlavně velikost písma se blbě řeší). Pokud chceš formulář, který se bude přizpůsobovat rozlišení a dpi monitoru tak jedině zmíněný WPF. A pokud chceš dělat hry v C++, tak WinForm rovnou opusť, nikdy nenapíšeš dobrou hru a pořád budeš zápasit s problémy týkajících se zobrazení.
To v čem dělat hry ti radit nebudu, protože se složitějšími hrami nemám zkušenosti. Pouze vím, že se dají do VS 2017 doinstalovat nástroje Cocos a Unity.
A co se týče té češtiny, tak většina prohlížečů má integrovanou automatickou kontrolu chyb v textu, chyby se většinou zviditelňují červenou vlnovkou pod textem.

Editováno 24.3.2017 18:13
 
Nahoru Odpovědět
24.3.2017 18:12
Avatar
Dominik Rozporka:24.3.2017 20:36

ale já jsem chodil kroužek programování a on tam někdo udělal v C# dost dobrou hru
sice 2d myslím ale fungovala mu normálně myslím že to hrál myší nebo šipkama už nevim a střílel po zombie nebo co to tam bylo
jinak dá se teda nějak překonvertovat ten C++ projekt na ten C# projekt?
nebo ten kód tý windows forms application a kód buttonů a jenom těhletěch podobných blbůstek je stejný?

 
Nahoru Odpovědět
24.3.2017 20:36
Avatar
HONZ4
Člen
Avatar
HONZ4:24.3.2017 20:56

Kdybych chtěl dělat jen hry v C#, tak bych se podíval rovnou na třeba na Unity. Ale i v WPF se dají vyrobit dobré 2D hry tady je malá ukázka: https://www.youtube.com/watch?…

  1. Přímo překonvertovat se to nedá.
  2. Kód jsem vůbec neviděl.
  3. Hodně věcí se dá poměrně snadno z C++ přepsat na C#
  4. Pokud si chceš hrát s grafikou, tak ne "WinForm", ale WPF v tom je velký rozdíl!
  5. Pokud máš nějaké rozsáhlé a vychytané funkce napsané v C++, lze je zabalit do DLL a ty pak volat v aplikaci napsané v C#

Co v to projektu máš tak povedeného, že se toho nehodláš vzdát?

 
Nahoru Odpovědět
24.3.2017 20:56
Avatar
Dominik Rozporka:25.3.2017 9:18

No já jsem to měl už asi napsat dřív já aktuálně dělám jakoby hru je to spíš výukovej program
vlastně po zmáčknutí Začít hrát nebo jak to tam mám teď nevim se oběví nějakej náhodnej příklad
ze Základů Elektrotechniky a v něm buď je nějaký počítání třeba rezistory nebo výběr správný odpovědi
a takhle různě
to s tou grafickou hrou jsem měl na mysli já jsem to nějak asi špatně napsal
že někdy potom něco takovího udělám ale až dodělám tenhle projekt
jinak ještě k tomu projektu já jsem se k němu vrátil tak za takoví 1 rok asi
tak že jsem zapoměl jestli funguje náhodný výběr příkladu proto že jsem udělal zatím jen jeden tak že to nemůžu otestovat a
ještě jsem se na ten kód ani pořádně nekoukl proto že doposud jsem řešil to s tím rozlišením
a to s tou kompilací že to nešlo na jiným pc
jinak jde nějak zabalit do .dll celá ta základní funkce?
nebo víš co? pomůžeš mi prosím že bych ti poslal ten projekt a ty bys mi to dal do nejvhodnější nějaký tý formy? na tohle asi bude stačit windows forms application když se tam nic moc grafickýho nedělá jen tlačítka
a obrázky možná nějakej .gif

 
Nahoru Odpovědět
25.3.2017 9:18
Avatar
Dominik Rozporka:25.3.2017 9:39

tak já ti teda pošlu ten projekt soukromou poštou

 
Nahoru Odpovědět
25.3.2017 9:39
Avatar
HONZ4
Člen
Avatar
HONZ4:25.3.2017 18:26

k té dll snad nebude vadit, když pošlu odkaz ke konkurenci, ale toto je velmi podrobná ukázka zabalení funkce do dll a následný import této funkce

Každopádně, i když je to jednoduchá aplikace, tak pokud chceš dělat WinForm, stejně doporučuji C#.
C++/CLI je strašný paskvil a blbě se ti budou shánět návody a málo kdo ti kvalitně poradí (já už vůbec ne, taky už dělám v C#).

Editováno 25.3.2017 18:27
 
Nahoru Odpovědět
25.3.2017 18:26
Avatar
Dominik Rozporka:25.3.2017 18:46

jo já už se C# učím myslim od včera
jinak dá se úplně celí projekt dát do .dll?

Editováno 25.3.2017 18:49
 
Nahoru Odpovědět
25.3.2017 18:46
Avatar
HONZ4
Člen
Avatar
Odpovídá na Dominik Rozporka
HONZ4:25.3.2017 18:55

do knihoven se většinou dávají funkce a zdroje.
Ten projekt co jsi mi poslal, by se dal za 5 minut přepsat do C#, takže tím bych se netrápil.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
25.3.2017 18:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.