Article View: pl.comp.lang.c
Article #1435Re: Pole EDIT z tekstem >32kb
From: Pawel Piotrowski
Date: Wed, 11 Feb 1998 13:27
Date: Wed, 11 Feb 1998 13:27
34 lines
1852 bytes
1852 bytes
Piotr Kaminski wrote:
>
> Jesli ktos wie jak zrobic w Win 3.x pole EDIT mieszczace tak ok. 100kb
> tekstu, to _bardzo prosze_ o jakas wskazowke. (pewnie wymaga to
> stworzenia go od nowa, poniewaz korzysta ono z pamieci alokowanej
> przez LocalAlloc)
Max. co mozesz dostac to ok. 64KB,podstawiajac specjalnie skreowany
segment w CreateWindowEx.
Fragment kodu jak to zrobic:
HGLOBAL hdl = ::GlobalAlloc(GHND, 256); // will grow as needed
uint16 editDS = FP_SEG(::GlobalLock(hdl));
::LocalInit(editDS, 0, 0);
::GlobalUnlock(hdl);
HINSTANCE hInst = (HINSTANCE)hdl;
HWindow = CreateWindowEx(Attr.ExStyle,
GetClassName(),
Title,
Attr.Style,
Attr.X, Attr.Y, Attr.W, Attr.H,
Parent ? Parent->HWindow : 0,
(HMENU)menuOrId,
hInst,//tu wazne - podtawiasz inny niz
zazwyczaj HINSTANCE
Attr.Param);
Przy niszczeni okna musisz zrobic to co zazwyczaj, a potem zwolnic hdl.
Metoda ta pozwala na etytowanie do okolo 64KB tekstu w okienku EDIT. Dla
wiekszych, to niestety musisz napisac to sam.
Pozdrawiam
Pawel
Technical Details
Message-ID:
<34E1A73B.3CB6@sopot.lex.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mailReferences:
<34e29b5c.3857657@news.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mail From: Pawel Piotrowski <pietras@sopot.lex.pl> Newsgroups: pl.comp.lang.c Subject: Re: Pole EDIT z tekstem >32kb Date: Wed, 11 Feb 1998 14:27:23 +0100 Organization: Centrum Informatyczne TASK Lines: 34 Message-ID: <34E1A73B.3CB6@sopot.lex.pl> References: <34e29b5c.3857657@news.icm.edu.pl> Reply-To: pietras@sopot.lex.pl NNTP-Posting-Host: szmondo.lex.pl Mime-Version: 1.0 X-Mailer: Mozilla 3.0C-E-KIT (Win95; I) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit