Megválaszolatlan hozzászólások | Aktív témák Pontos idő: kedd nov. 19, 2024 19:25



Hozzászólás a témához  [ 31 hozzászólás ] 
Visual C++- t tanulok 
Szerző Üzenet
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Egy újabb kérdés:
Készítettem egy dialógusalapú alkalmazást (az egyszerûség végett), hogy egy erõforrástároló DLL- be utólag beírjak egy sztringet.
Azonban a
m_DLLHandle=BeginUpdateResource(m_DLLName,FALSE);
részt nem képes végrehajtani (mármint NULL- lal tér vissza). A hibaüzenet visszafejtve: "Ez a függvény csak Win32 módban hívható." Na ettõl nem lettem okosabb.
Megvilágosítaná valaki agyam homályát?
Köszi:
vakundok


hétf. szept. 15, 2003 21:52
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Helló Mindenki!
Mostani láma kérdésem:
Hogyan érhetem el a nézetosztályból a CMainFrame-et?


csüt. szept. 11, 2003 15:32
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 20
Hozzászólás 
Ott a 3 pont. Valóban a FILE-ról beszéltem :)


pén. máj. 23, 2003 12:35
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Õõõ, most nagyon bután nézek. Tudom, hogy nálam ez a
normális. Ne haragudj, de biztos, hogy ugyanarról a CFile-
ról beszélünk? Én a CFile osztályra gondoltam, amit te
írtál az meg nekem FILE streamesnek tûnik.


kedd máj. 20, 2003 10:06
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 20
Hozzászólás 
Őszinte leszek, CFile-t csakis "w+"-ként szoktam megnyitni,
oda a cuccot pedig fprintf("%s
",
A_STRING_AMIT_KI_AKARSZ_IRATNI) formában írom ki. Fel sem
merült bennem, hogy másképp tegyem, eddig mindig működött
és kész.

Ha valakit érdekel még a registry írása és olvasása,
törlése, az jelezze, és akkor beírom.

Ja, mindez VC++ 6.0 alatt értem, bár most éppen Embedded
Visual C++ 3.0-ban fejlesztek (IPaq-re), ami egy nagy rakás
****.


kedd máj. 20, 2003 9:35
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Sziasztok!
Jon: Nos, a Win98 frissítések között egy kukk sincs a GDI+-ról.
Amúgy:
Egy textfájlba szeretném kiírni egy CListBox vezérlõ tartalmát. Fájlkezelésre egy CFile-t használok. Az elsõ meglepetés akkor ért, mikor a help kiírta, hogy a Text módú megnyitás csak származtatott osztályoknál van. A következõ akkor, mikor text módú kiírató utasítást nem találtam.

Most úgy mûködik a program, hogy megnyitja a fájlt bináris módban, majd a CListBox-ból kiszedett sztringek végére odabiggyeszti a textmódú sorlezárás karaktereit és úgy írja ki a fájlba. Megcsinálja szépen (tehát az eredmény jó), csak az a kérdésem, hogy van-é esetleg kultúráltabb módja ennek?
Köszi:
vakundok


vas. máj. 18, 2003 9:49
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
A GDI+ -t csak a Windows XP tartalmazza, de utolag lehet bermilyen gepre telepiteni, gondolom. Kivetel persze a Win95, arra talan nem megy fel...

"A GDI+ elérhető nem MSDN tagoknak?" Szerintem ennek a kerdesnek nem sok ertelme van, de a valasz igen.


kedd ápr. 01, 2003 17:32
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Hoppáré!
Most látom csak, hogy GDI+ XP- vel indul. Akkor asszem eme megoldás kiesett. 8-(

Bred_rg42: Kösz, majd elmerülök benne jól, de még csak tegnap vetõdtem el a codeproject oldalára.
Üdv:
vakundok


pén. márc. 28, 2003 12:56
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Hello André,


A> A maradék kérdés a fájltársítások kezelése, illetve, hogy Excel táblázat létrehozásához programból van e konkrét példa valahol.

Vagy a http://www.codeproject.com -on vagy a http://www.codeguru.com
-on lattam (sot le is toltottem :)) ilyet a database reszben


--
Best regards,
bred_rg42 mailto:bred@rg42.hu


pén. márc. 28, 2003 11:48
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Köszi!
A GDI+ elérhetõ nem MSDN tagoknak?
/*A súgónak beírtam, hogy GetDriveType, és közölte, hogy nincs ilyen témakör. Beírtam egy forrásba, és ott meg alávéste, hogy milyen paramétereket vár. Utálom a súgót.*/
A registry használatára találtam példát, úgyhogy a kérdést visszavonom.
A maradék kérdés a fájltársítások kezelése, illetve, hogy Excel táblázat létrehozásához programból van e konkrét példa valahol.
Üdv:
vakundok


pén. márc. 28, 2003 11:24
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Helyesbitek:
char drive[] = "c:\";


csüt. márc. 27, 2003 11:24
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Sziasztok!

Mostani kérdéseim:
1. Hogyan tudok a Registry- bõl adatokat kiolvasni? Tudom egy program nevét, és annak a helyét szeretném megtudni.
2. Hogyan lehet eltávolítani valamit a Registry- bõl?
3. Azt írja a könyv, hogy hogyan lehet egy fájltípust hozzárendelni a programomhoz, hogyan lehet ezt kiolvasni? Azért, ha már társítva van valamihez, akkor ne piszkálja, illetve, ha eltávolítják a programot, akkor visszaállítsa, illetve törölje a társítást.
4. Hogyan lehet a CD meghajtók tartalmát lekérdezni? Van olyan függvény, ami az elsõ CD meghajtó jelét adja meg?

Köszi a válaszokat!
Üdv:
vakundok


csüt. márc. 27, 2003 10:10
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
bmp: passz:-) a kepek digitalis feldolgozasa kulon tema. Ha komolyan gondolod, akkor meg nagyon sulyos. De mintha lenne erre is valami a WinAPI-ban...

Program <-> Excel. Felejtsd el az XLS formatumot. Vannak arra megfelelelo COM, ActiveX marhasagok. Tessek azt hasznalni! jobban jarsz:-)


vas. feb. 16, 2003 23:59
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Sziasztok!
Ismét itt. Gondolkodom (nem röhögni 8-) ) egy bmp konvertáló programon. (Sokszínûbõl 256 színût.)
Van olyan függvény, ami számszerûsítí két szín különbözõségét? Ha nincs, akkor segítenétek, hogy álljak neki ezt meghatározni? Maradjak RGB-ben és a színek különbözõségi mértékét adjam össze vagy próbáljam átalakítani HSB- re? Ha HSB, akkor ott milyen arányokat használjak a színárnyalat, színtelítettség, világosság eltéréseire, egyformán fontosak, vagy mondjuk a világosság pl. kétszeres súllyal szerepeljen? A színek különbözõségének számszerûsítése szerintem elkerülhetetlen, ha csak a gyakoriságot vizsgálnám, akkor elõfordulhatna, hogy néhány nagyon hasonló (akár egyformának látott) de gyakori szín miatt nem marad hely a palettáben egy ritkább, de szembetûnõbb színnek.
Ötletek?
Üdv:
vakundok


szer. feb. 12, 2003 21:12
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Szeretnék egy programból Excelbe importálni. Irányba állítanátok, hogy mit nézzek át? Próbáljak utánanézni az xls fájlok formátumának, vagy böngésszem a súgót? (Még nem tartok az OLE, illetve ActiveX fejezeteknél, de ahogy belenéztem, konkrétan ezzel nem is foglalkozik a könyv.)
Köszi:
vakundok


kedd jan. 28, 2003 18:35
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Így belegondolva, ezzel hogy mutatókat használ, és nem csak arra, hogy gyorsan átvegye az értéket egy saját adattagba, nem vágták ki az objektum védettségét az ablakon? Jó, hogy lehet származtatni, de egy dolog a "lehet" és másik a "jobban teszed, ha azonnal".
Üdv:
vakundok


kedd jan. 28, 2003 16:52
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
jsaak:
Köszi, imádlak! 8-D
A dialógusosztály kapott egy CFont m_ListaFont védett adattagot, az OnInitDialog pedig
m_ListaFont.CreatePointFont(90,"Fixedsys");
m_ListListBox.SetFont(&m_ListaFont);
-és mükszik.
Üdv:
vakundok


hétf. jan. 27, 2003 15:40
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Egy kis bibi van a programoddal: A Font nevű változód lokális (csak az OnInitDialog() fv-en belül él)
a megoldás:

Dialog deklarációjába:
CFont *m_font;
OnInitDialog()-ba
m_font = new CFont;
m_font->CreateFont(-12,0,0,0,400,FALSE,FALSE,FALSE,0,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FIXED_PITCH | FF_MODERN ,
"Courier New");
//Lehet hogy működik a CreatePointFont(..) is
m_ListListBox.SetFont(m_font);
Dialog destruktorába:
delete m_font;


hétf. jan. 27, 2003 1:39
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
stardus:
Köszönöm.
Verzió 2:
A ListBox egy WM_NCCREATE-tel indul (OnNcCreate kezelõvel). Csakhogy a CREATESTRUCT struktúrának nem találtam a fontra utaló adattagját. Illetve röhögõgörcsöt kaptam, ugyanis van egy khm, nem részletezett tagja:
"lpCreateParams
Points to data to be used to create the window."- de hogy ez az adat milyen, mekkora, micsoda, arról egy árva kanyi szó sincs (teljes egyetértésben az on-line súgóval).
Verzió 1:
Uff, ez nagyon ijesztõ, még nem néztem utána. Nem akarom elhinni, hogy erre nincs valami egyszerû megoldás, ha már tervezéskor nem lehet beállítani ...
Üdv:
vakundok


szomb. jan. 25, 2003 23:05
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Vakundok!

Ha a te helyedben volnek, eloszor csinalnek egy class CMyListBox : public CListBox ... osztalyt.

Utana verzio1:

a classwizardban latnam, hogy ennek az osztalynak vannak olyan "=WM_CTL..." uzenetei (= jellel kezdodnek). Na ezen = uzenetek kozul az egyiket lekezelnem. Hogy melyiket, annak az MSDN-ben neznek utana (search: message reflection CEdit) - az ottani pelda egy editbox-ot barmol felul.

verzio 2:
a precreatewindow-ot irnam at ugy hogy eloszor letrehozom a fontot (es eltarolom egy osztaly adattagban), atallitom a cs strukturat font adattagjat (ha jol emlekszem ilyennek lennie kell), meghivom az CListBox::precreatewindow-t. Es hatha jo lesz.

star

ps: En tobb, mint ket eve foglalkoztam ilyennel, es jelen pillanatban nincs keznel vis studio. Ily lehet, hogy nem mindenre emlekszem jol, de iranynak jo.


pén. jan. 24, 2003 10:30
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Helló!

Nos, ismét itt. Egy dialógusablakban lévõ ListBox vezérlõ betûtípusát szeretném beállítani a dialógusablak többi részétõl eltérõre (Fixedsys betûtípusra, kilences nagyságra). A hozzárendelt változó neve m_ListListBox.
Az OnInitDialog() függvénybe behelyeztem a következõt:
CFont Font;
Font.CreatePointFont(9,"Fixedsys");
m_ListListBox.SetFont(&Font);
Mi a baj ezzel a megközelítéssel? Illetve tudna valaki valami ötletet, hogy tervezéskor lehet-é egyáltalán a párbeszédablakon a vezérlõk betûtípusát külön állítani?
Köszi:
vakundok


kedd jan. 21, 2003 23:46
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Helló!

CStyle::OnSetActive()
{
m_Pitch=((CPitch *)((CPropertySheet *)GetParent())->GetPage(2))->GetPitch();
if (m_Pitch ...
}

Jelenleg így van és mûködik. Valahogy kiesett a tudatomból, hogy a Style és a Pitch fül közt még van egy Justify is. Még jó, hogy én csináltam. :-)

Most egy kicsit csöndben leszek, egyrészt belevágok a Visual C++ második kötetébe, másrészt csinálok egy hexeditort, harmadrészt igyekszem megérteni a dll-rõl szóló súgórészt (különös tekintettel az erõforrástároló dllre), mert a könyvben egy szó sem esik róla, nekem meg tök ismeretlen a téma.

Köszi az eddigieket!

Üdv: vakundok


hétf. jan. 20, 2003 10:28
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Na jo:-) nem nezhetem, hanem nezem:-)


vas. jan. 19, 2003 16:56
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Na most akkor nekem ez igy keves:-) Tudom, hogy nem vagyok egy guru, de azert tobbet kene latni abbol a prg-bol. Ha elkuldod a forrast, akkor megnezhetem.


vas. jan. 19, 2003 16:55
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Szia!
Fordulni fordult, csak épp nem csinált semmit. Mint rámutattál, ez a mutatódobálás és konverzió elég brutális és ellenõrzésmentes.
A Pitch nem a második lap volt, hanem a harmadik, szóval GetPage(2) és mûködik. Még az a zárójel sem kell, amit az átláthatóság kedvéért tettem bele. :-)
Köszi: vakundok


szomb. jan. 18, 2003 10:29
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Jokat kerdezel:-)

Mashogy szvsz nem igazan lehet. Mivel az objektumok nem lathatjak egymast...

Mondjuk csinalhatsz olyat, hogy minden CPropertyPage delgalja magat a tobbi PropertyPage-re. De ez megint csak a fenti megoldas egy varizacioja, es raadasul nagyot is lehet vele hasalni.

En vmi olyat csinalnek, hogy a CPropertySheet-ben tarolnam a valtozok ertekeit /*parent.GetValtozo(); parent.SetValtozo();*/.

Gyakorlatilag mint a fenti, de legalabb nem olyan ronda:-)

Amugy miert nem jo a fenti? Nem fordul? Nem azt csinalja?


pén. jan. 17, 2003 23:09
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Helló!
Elkészítettem a Visual C++ Mesteri Szinten c. könyv többfüles párbeszédablak- példáját. Szeretném úgy bõvíteni, hogy ne lehessen lehetetlen konfigurációt beállítani.
Ehhez az kellene, hogy a lapok lássák egymást viszont nem találtam rá iránymutatást.
A példában a Style lap egyik gombjának (CButton BoldGomb) az engedélyeztetetsége a Pitch lap publikus m_Pitch változójától kellene, hogy függjön. (Bár publikus, de azért adtam hozzá egy GetPitch() függvényt.)
Arra gondoltam, hogy a CStyle::OnSetActive() majd kiolvassa, de nem éri el. Próbáltam a PropertySheet-en keresztül, de ez egyrészt ocsmány, másrészt nem mûködik:
CStyle::OnSetActive()
{
m_Pitch=((CPitch *)(((CPropertySheet *)GetParent())->GetPage(1)))->GetPitch();
if (m_Pitch ...
}
Köszönettel várom az ötleteket.
Üdv:
vakundok


pén. jan. 17, 2003 18:42
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Szia!

Kösz. Bár esküdni mertem volna, hogy már próbáltam, lévén,
hogy ez a logikus, de ezek szerint mégse. 8-O Magamat is
meglepem önnön bénaságommal. Úgyhogy visszahoztam a
gombokhoz rendelt control változókat. (Merthogy voltak :) )

Üdv: vakundok


pén. jan. 17, 2003 9:00
Profil Privát üzenet küldése

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 0
Hozzászólás 
Amit csinalsz, az szerintem egy nagy lamersag. Es sokan csinaljak... Ha fogod a dialogusablakot a GUI szerkeszton, onnan atvaltasz a class-wizarda-ra, akkor ott van olyan tab amivel hozzaadhatsz member valtozokat a dialogushoz, barmi mashoz, tartozo osztalyhoz. Ha jol csinalod, akkor a fenti tipuskonverzios, controllekeros, hibanemellenorzos, k***a buveszkedes a kovetkezore egyszerusodik le:

m_elsoGomb.SetWindowText("Gomb1");

Ha a fenti modon csinalod, akkor a Windows alapertelmezett modjan osszerendeli a controlt az osztallyal, hozzakapcsol mindenfele fityfenet, amit azert macera lekezelni.

Ha nem ertetted, akkor a cimem vege: freemail.hu

Amugy minden jot!:-)


csüt. jan. 16, 2003 22:18
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Nos, kísérleteztem a SetWindowText-tel is és ez végre eredményre vezetett. Tehát:

((CBUTTON *)GetDlgItem(IDC_BUTTON1))->SetWindowText(Gomb1);

A típuskonverzió kell. Azért köszi annak, aki elgondolkodott rajta!
Üdv: vakundok


szer. jan. 15, 2003 22:29
Profil Privát üzenet küldése
ezüst tag

Csatlakozott: szer. márc. 24, 2004 13:43
Hozzászólások: 84
Hozzászólás 
Üdvözlet!
Egy dialógusablak gombjának feliratát szeretném megváltoztatni futásidõben. Úgyhogy adtam hozzá egy ilyet:

void Gomb1Szoveg(CString Gomb1)
{
SetDlgItemText(IDC_BUTTON1,Gomb1);
}

Lefordul, de mikor használnám, behal. A hibakeresés

void CWnd::SetDlgItemText(int nID, LPCTSTR lpszString)
{

itt áll meg: ASSERT(::IsWindow(m_hWnd));

if (m_pCtrlCont == NULL)
::SetDlgItemText(m_hWnd, nID, lpszString);
else
m_pCtrlCont->SetDlgItemText(nID, lpszString);
}

, és közli, hogy no matching symbolic information found a betöltött dllekben. Mit csesztem el?
Köszi:
vakundok


csüt. jan. 09, 2003 11:15
Profil Privát üzenet küldése
Hozzászólások megjelenítése:  Rendezés  
Hozzászólás a témához   [ 31 hozzászólás ] 

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 5 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Magyar fordítás © Magyar phpBB Közösség