|
|
Check out InfoZip. http://www.info-zip.org/[^]
AFAIK, both Winzip and java.util.zip are based om InfoZip. So there won't be any compatibility problems using it.
|
|
|
|
|
|
Hi all,
I like to create a kind of digital clock as an ocx. therefore other programmer can use my ocx inside their program. problem is:
1. How can i set up the timer for an ocx?
Note: I have create a WM_CREATE message handler and put the SetTimer command in it. Then I Create a WM_TIMER message handler and put the increment of the "second" in it, and display the number inside the OnDraw. But, it seems that the WM_TIMER message handler is never been called (that make my "Second" number never changed)
2. Is it possible to use a dialog box for an ocx, or do I have to always use OnDraw to draw something inside the ocx?
Below is the code that mimic the functionality of my digital clock. I use a data member called m_number that has been set to 0 inside the CxxxCtrl constructor. I expect to have this number increased each second elapsed. But it just didn't work. Any help please. Thanks.
// CTimerOcxCtrl::OnDraw - Drawing function
void CTimerOcxCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
CRect rectOcx = rcBounds;
CString strNumber;
strNumber.Format("%ld", m_number);
pdc->DrawText(strNumber, rectOcx, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
}
/////////////////////////////////////////////////////////////////////////////
// CTimerOcxCtrl message handlers
void CTimerOcxCtrl::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_number ++;
if (m_number > 100)
m_number = 0;
COleControl::OnTimer(nIDEvent);
}
int CTimerOcxCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
/*
CWnd *pMainWnd = AfxGetMainWnd();
HWND hWnd = pMainWnd->GetSafeHwnd();
*/
//SetTimer(hWnd, ID_TIMER1, 100, NULL);
SetTimer(ID_TIMER1, 100,NULL);
return 0;
}
|
|
|
|
|
budihartanto wrote: Is it possible to use a dialog box for an ocx,
its possible..
in the CTimerOcxCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
funtion u can create a child dialog. It will be displayed when the ocx is inserted.
nave
|
|
|
|
|
budihartanto wrote: But, it seems that the WM_TIMER message handler is never been called (that make my "Second" number never changed)
I think you need to invalidate or redraw the window on each WM_TIMER message. In your OnTimer handler, before returning you should try one of this:
InvalidateControl(NULL, FALSE);
or
InvalidateControl(NULL, TRUE);
or
Invalidate(FALSE);
or
Invalidate(TRUE);
or
RedrawWindow(NULL, NULL, RDW_UPDATENOW);
or
RedrawWindow(NULL, NULL, RDW_UPDATENOW | RDW_ERASENOW);
or other appropriate.
Hope it helps.
|
|
|
|
|
Dear Sir,
this is like A declare my Command :
CCommand<caccessor<cdboficag2accessor> >table;
when i do table.MoveNext() all is good but when I write table.Moveprev() it can't work.
I am using Visual c++ 6.0.
What to do.
|
|
|
|
|
Make sure that you havent opened the cusrsor set as forwardonly. Double chk how you opened the table.
cheers...milton.
|
|
|
|
|
Can you show me how to open table not fordwarding
|
|
|
|
|
mikobi wrote: table.Moveprev() it can't work.
What doesn't work with it? Is the compiler/linker complaining? Is an exception thrown? Please elaborate on the "error."
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
No error, but the moving previous to the record back is not done. That my complain
|
|
|
|
|
Have you stepped into the method to see what condition is prohibiting the movement?
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I don't understand what happens because when I do MoveFirst() I go to the next record, but why when i do MovePrev it does n't go back. That's my complain
|
|
|
|
|
Hence my suggestion to step into the MovePrev() call to see what is actually happening.
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hello!
I hope someone can help with this stuff.
I tried to set up a sample webservice/client stuff, the service is the default c# helloworld service which comes with the ide, the client is a simple c++ mfc app.
I followed the tutorials on msdn to create and deploy the service, which worked fine.
Then i followed the instructions on how to create a client, add web resource etc.
The problem is, that when i try to run the client from my system (windows 2000 sp4) it fails before even starting, saying:
"The procedure entry point getaddrinfo could not be located in the dynamic link library WS2_32.dll."
It runs finely on windows 2003 though.
I googled around a bit for the cause of this problem, but i couldn't find any solutions for win 2000, only xp or 2003.
I checked the 2003 and 2000 ws2_32.dll-s with depends, and in the 2000 version i didn't find the mentioned function. Why does my compiler include references to a function not in my dll?
If anyone can help me to solve this problem, please post a reply.
Ngetal
|
|
|
|
|
Now. I have to change messagebox to (OK - Cancel) to the French language. In source English use MB_OKCANCEL. I have to change MB_OKCANCEL to another to my messagebox have 2 buttons: OK - Annuler
Please help me
Software Engineer
|
|
|
|
|
Messagebox caption will change automatically according to the OS default language. You can use custom messagebox ur own to change the language.
cheers..milton kb
|
|
|
|
|
More level of customization can be done by using a windowshook for WH_CBT and traping the HCBT_ACTIVATE.
Regards,
FarPointer
Blog:http://farpointer.blogspot.com/
|
|
|
|
|
I think that you can use MessageBoxIndirect(...) to specify a different Language ID to use for the text on the standard button(s).
It looks like MessageBoxEx(...) can be used, but I do not think the "cross-language" functionality is implemented in it.
Peace!
-=- James If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! DeleteFXPFiles & CheckFavorites (Please rate this post!)
|
|
|
|
|
Thanks to all for helps. I love you and thank you very much!
Software Engineer
|
|
|
|
|
Does any body a way to remote access a computer on a network to add/remove files.
I know using 'CreateFile()' I can create file on the network but that requires me to login on the local computer with the same username and password as registered on the remote computer. Is there any way to create a token to use for accessing remote computers?
|
|
|
|
|
Take a look at WNetAddConnection2 and its related functions.
|
|
|
|
|
You can use LogonUser() and ImpersonateLoggedonUser() to get access to a remote machine for a specific user with username and password.
cheers...milton kb.
|
|
|
|
|
After googling little bit I found out two different meanings for Alt Gr.
Does it mean Alternate German or Alt Grpahics or Alt group?
Also how to trap in PreTranslateMessage()? Is this the correct way or is there any better way?
<br />
bool bAltGrp = false;<br />
if((::GetKeyState(VK_CONTROL) & 0x8000) && (::GetKeyState(VK_LMENU) & 0x8000))<br />
{<br />
bAltGrp = true;<br />
}<br />
else if(::GetKeyState(VK_RMENU) & 0x8000)
{<br />
bAltGrp = true;<br />
}<br />
Thanks and Regards,
Arti Gujare
|
|
|
|
|
try out :-WM_SYSCHAR
Regards,
FarPointer
Blog:http://farpointer.blogspot.com/
|
|
|
|