Antingen så kan man gå den väldigt bökiga vägen via Win32-API:t eller så kan man Få stöd från klassbibliotek som MFC eller ATL eller så kan man använda sig av något RAD verktyg som Borland C++ Builder. Generellt sett så gäller att ju mer "högnivåverktyg" du använder, ju mindre kontroll får man över det som utförs i "bakgrunden". En bra lösning är ju att använda API:t då man måste trixa lite för att få till det där lilla extra och använda en högre nivå som "lim" för att sy ihop det hela.
Det går utmärkt i C men ännu bättre i C++. Även utan inblandning av MFC eller liknande (direkt "på" winapi), fast dessa "modeller" underlättar en hel del om man gör vanliga fönsterapps.
Kolla på t.ex http://www.codeproject.com och http://www.relisoft.com/cpp.html , den sista länken är mer av en "skola" än den första som är ett forum med artiklar av varierande svårighetsgrad.
Jag brukar använda VB att göra GUI i och C++ för att göra själva logiken eller det tunga arbetet. COM används sedan för att sy ihop dessa två. Jag använder C++ inte för att det är så jättemycket snabbare utan därför språker erbuder mer möjligheter och det är betydligt enklare att göra många saker i C++. VB passar väldigt bra då man håller på med UI saker. Koden blir ju lättförstålig och bra.
Själva UI:t bör man göra på någon högre nivå, t ex VB. Endast om man måste göra nått special, special så tycker jag man kan gräva i Win32. Det är tidsödande och väldigt bökigt.
Nej, men man kan göra det. Man kan lika gärna (eller kanske ännu hellre) använda Delphi om man är ute efter att göra ett GUI i ett "modul"-språk och "logiken" i ett annat.
Förresten så ska du väl inte "byta språk" bara för att nån fnyser? Vissa språk är bra på en sak andra på andra saker. Systemprogrammering aka Windowsprogrammering kanske går snabbt i VB, men det betyder inte att det inte är bra i nåt annat språk.
Win32 är själva API:t. Med special maner jag t ex om man ska göra en trödkontroll där man vill kunna göra drag&drop mellan objekten i trädet. Då måste man in och hacka lite själv för att kunna göra det.
PeW skrev:
Nej, men man kan göra det. Man kan lika gärna (eller kanske ännu hellre) använda Delphi om man är ute efter att göra ett GUI i ett "modul"-språk och "logiken" i ett annat.
Fast COM är väldigt bökigt att hålla på med i Delphi. COM är ju inte "deras" metodik för att sy ihop komponenter. Dom har ett eget sätt att göra det på och det märks att det är där dom lagt krutet.
Själva UI:t bör man göra på någon högre nivå, t ex VB.
Beror inte det helt på vad man ska göra och hur ofta man tänker göra det? Sitter själv just nu och förbannar MSDN's bristande pedagogik i win32 då vi har labbar i skolan med C & winAPI (IPC + fönster + multitrådat + DirectDraw). Men så himla "svårt" är det inte att det skulle föranleda inblandning av andra språk. Lite mer kodande bara, men har man väl gjort ett "skal" går det smidigt och enkelt :e
Då måste man in och hacka lite själv för att kunna göra det
För att lära sig win32-programmering är det vettigt att hacka mycket själv. :bire
Bara en liten OT. Har ni fått läsa grundläggande COM innan ni börjar med trådar och DirectX ? Hur apartments och marshling och sånt funkar ?
Det är operativsystemskursen (generell OS-kurs) som innehåller ett par labbar som går ut på multitrådat och kommunikation via mailslots mellan processer. DirectDraw implementation ingår inte i labbspecen (där utgår man från GDI) men det blir lite "snyggare" presentation - vi gör lite olika allihopa - men kärnpunkten ligger i parallellism och kommunikation mellan processer. Nästa labb består i att bygga ett filsystem :birp