|
Joaquin,
thank your for your quick suggestion . The page in question *is* the last one on the sheet, but it won't work:
CMyPropertySheet::OnSomeMessage(......)
{
RemovePage(&m_myPage);
AddPage(&m_myPage);
}
The RemoveMessage function destroys the property page, and AddPage isn't enough to have the page created: I get an empty property sheet, all controls on it are not visible/created
|
|
|
|
|
mumble mumble... Maybe you should use a fresh CPropertyPage each time, like this:
CMyPropertySheet::OnSomeMessage(......)
{
RemovePage(m_pMyPage);
delete m_pMyPage;
m_pMyPage=new CMyPropertyPage();
AddPage(m_pMyPage);
} Why don't you try this and tell us if it works?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Joaquín,
thank you, that was the right trick. Once the property page has been created (OnInitDialog is done) you cannot RemovePage it and reuse the same object instance.
Thomas
|
|
|
|
|
Hi folx!
I have a huge problem: On the one hand I have a open CFile object and on the other hand I have a library that decodes data from and encodes data into files with fread/fwrite aso.
So for a short example the following code fragment should be enough to imagine this...
CFile file("FileName",CFile::modeRead);
FILE *stream = ... // <- what do I have to write to convert a CFile into a FILE* ???
fread( buffer, size, count, stream );
.
.
Same in writeing a file!
I would be very lucky, if someone has an idea, what I can do!
(Best Regards,)
Patrick Hoffmann
-------------------------------------------------------------------------------
Technical and Operations Manager, System Analyst, Software Architect
PGP: http://www.novacom.net/pgp/PatrickHoffmann.asc
-------------------------------------------------------------------------------
veturo, der kostenlose NOVACOM Routenplaner für Europa... http://www.veturo.de
--------------------------------------------------------------------------
|
|
|
|
|
|
Hi.
I was wondering how to:
1) hide what a user types, but still read the keys.
I am working on a program that is involves password protection. I need a way to asks for the pass, but not display it openly just when logging onto any OS. A good example is logging onto linux. It asks for the password, but it does not display what the user enters.
2) code a counter that uses the clock as a seed.
For example let say this is the code:
cout << "testing";
cout << "1 ";
------------------3 second delay
cout << "2 ";
------------------3 second delay
cout << "3 ";
In other word, is there a way to code some type of delay or counter?
Thanks,
Kuphryn
|
|
|
|
|
1) Check this thread on CodeProject from some weeks ago, which discusses the subject.
2) I don't quite get your question. If you want to insert delays among outputs to cout , you can simply write:
cout<<"1 "<<flush;
Sleep(3000);
cout<<"2 "<<flush;
Sleep(3000);
cout<<"3"<<flush; but I guess you're looking for something else.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
How can I execute a file programatically, and not continue until it has returned (i.e. the program ends)?
Thank you,
Russell McCurly
Hobbiest Programmer
|
|
|
|
|
Do a WaitForSingleObject() on the hProcess handle returned by CreateProcess() inside the PROCESS_INFORMATION structure.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
If I remember correctly, you take the process handle returned by CreateProcess and use it to call WaitForSingleObject, which will wait until the process ends or a certain amount of time has elapsed.
Regards,
Alvaro
|
|
|
|
|
I am sure you know the answer but you were too quick to send a message.
Here's the answer:
When you call CreateProcess , use PROCESS_INFORMATION
to have the handle of process or thread and call WaitForSingleObject .
on the process (or thread if you want).
|
|
|
|
|
Thank you all three of you, that helped me.
Cheers,
Russell McCurly
Hobbiest Programmer
|
|
|
|
|
Hello Folks!
I have a button on a dialog to which I want to add a bitmap to. I have no problems doing this by calling this code:
hbit = (HBITMAP) LoadBitmap ( hinst, MAKEINTRESOURCE ( IDB_ASSET ) );
SendDlgItemMessage ( hwnd, ASSET_BUTTON, BM_SETIMAGE, (WPARAM) IMAGE_BITMAP, LPARAM) hbit );
Is there anyway to setup a transparency mask on this bitmap such that the background color will be the same color as the dialog itself?
I myself have a color scheme on my desktop, and the bitmap button looks horrible, you see the grey background.
Any thoughts? I know you can do this on imagelists and stuff...
Mike.
doner@obtain.com
|
|
|
|
|
You might want to consider using Davide Calabro's CButtonST class, which seems to have almost everything anyone has ever dreamt about button controls.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
If you override OnCtlColor you can return a NULL_BRUSH for that button when its being drawn. Might help...
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
CBrush br;
if(pWnd->GetDlgCtrlID() == IDC_MYBUTTON) {
br.CreateStockObject(NULL_BRUSH);
return br;
}
later...
Actually, now that I think of it you still have the transparency prob - (I do this for icons on buttons) - guess your best bet is ::LoadImage instead of LoadBitmap...
|
|
|
|
|
If I read you correctly, you're not using MFC, right ? The way to do this is to make the buttons ownerdrawn, then in the dialog class, in your message loop, handle WM_DRAWITEM. You will need to generate your transparency mask yourself, my article on www.wdj.com ( in the Sep 2001 issue ) shows how to do this.
If your transparent area is always on the edges, you could also use ExtFloodFill on the top left pixel, a much easier solution. You could also do this to the bitmap before passing it to the button, which saves you drawing it yourself.
Christian
After all, there's nothing wrong with an elite as long as I'm allowed to be part of it!! - Mike Burston Oct 23, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
Try loading the bitmap using the LoadImage() function.
hbit = (HBITMAP)LoadImage(hinst, MAKEINTRESOURCE(IDB_ASSET), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS);
see LoadImage() in MSDN for more information.
---
It may be that your sole purpose in life is simply to serve as a warning to others.
|
|
|
|
|
Hi,
i would like to build a small program (to get into networking) that sends a
file to a server program and the server program should store the file locally.
You should then be able to download it again or another file that is on the server.
Now, i have worked with sockets before but only in a simple chat server/client program. How does one send a file over a socket? Do you cut the file in pieces and then send the pieces (in a loop) or is there a way to send the files in 1 time? (i can't see how) I have seen articles that talk about streaming an object. This sounds interesting as i mainly use an O.O. design. Any small samples around that show this kind of stuff?
Thanks,
BK
|
|
|
|
|
Look at the RFC959 for the official definition of the Ftp protocol. It does exactly what you are asking. The RFC will tell you how it does it. This stuff is pretty dense. There may be more accessible descriptions around, but I haven't seen them.
http://www.w3.org/Protocols/rfc959/
Hope this helps,
Bill
|
|
|
|
|
Hi, All!
=======
For all of you that knows pcAnyWhere, You know that you can see on the pcAnyWhere window what's on the other computer.
My question is:
How can I do it???
How can I draw what ever is on the screen in my window( my app)?
Hope you can understand my question.
Please help.
BTW: come to #CodeProject on DalNet (mIRC)
|
|
|
|
|
Take a look at the VNC project. VNC is a project created by AT&T. It's an open-source, cross-platform equivalent to pcAnywhere. It might be applicable to what you're doing.
http://www.uk.research.att.com/vnc/
Tim Lesher <tim@lesher.ws>
http://www.lesher.ws
|
|
|
|
|
I have to work with a large file with variable rows and columns and I want to make it into 1 large column so I can read all the data using the ReadString command i.e. I need to replace the spaces along each row with newlines(\n)'s. What can I use to do this? Any help would be much appreciated...
----------------
|
|
|
|
|
Well, I have a couple of solutions:
1) You could replace the spaces as you read the strings from the file
2) You could use CQStringParser, and let it parse each string as it's read into space-delimited fields, and the read the fields one at a time out of the object. Of course, you'd probably want to create an array of CQStringParser objects too.
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
What do I use to replace the spaces as I read the strings from the file? I am trying to use strtok at present with limited success. Thanks for your help by the way,
-Regards
Steve
|
|
|
|
|
I wouldn't use strtok (mostly because I wrote the CQStringParser class).
If you're using CStdio, you're using MFC. If you're using MFC, CQStringParser would be abetter choice because it parses the strings for you without you having to do anything but instantiate an object with a string and a delimiter character.
Check out that class and see if it doesn't work better than strtok.
Besides all that, CString has a Replace() function that can replace all instances of one character with another.
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|