|
Are you using MFC?
Is this a dialog-based application, or does it have a parent froame window (SDI/MDI)?
To hell with those thin-skinned pillow-biters. - Me, 10/03/2001
|
|
|
|
|
If you are using a MDI or SDI application you can use the Run function. Stopping every x seconds.
If you are in a Dialog App, you can use the SetTimer function....
Best Regards...
Chau!!!
Carlos Antollini.
|
|
|
|
|
Thanks for the replies.
I just finished trying the Timer function and now I see that is what you reccomended. So I guess I'm on the right track.
No we'll see if I can do some communication with another computer and display this info in both dialog boxes.
Thanks again,
Jim
|
|
|
|
|
Has anyone had any experience creating hands or fingers in OpenGL? My plan of attack so far is to user 3 cylinders for each finger and work it out from there. I'm still relatively new to OpenGL so I'm finding this task a little daunting... any ideas?
|
|
|
|
|
first sorry for my poor english.
I use the Visual C++ 6.0 in win2000 server(not installed the win2000 platform SDK) to develope application.Today when a complier a application that use some API function only run under win2000.I get a complier error:
Linking...
SetTransPlusDlg.obj : error LNK2001: unresolved external symbol __imp__SetLayeredWindowAttributes@16
Release/SetTransPlus.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
It seemed that i have not the correlative lib file.somebody told me that i need to install the win2000 SDK in my computer to let the visual c++ support this function.My internet connection speed is slowly and don't want to download the SDK (250M).
fortunate,i have installed the visul studio.NET(beta 2)in my computer,I think the Visual Stuido.NET should included these lib file.
how i use these lib file in my visual C++?
thanks
|
|
|
|
|
You're right that .Net will have it, but the problem is noyt a lib file, it's that you've not installed a new Platform SDK. As Windows 200 was released after VC6, you need to download a new platform SDK in order to include the headers for any commands new to W2000.
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
|
|
|
|
|
Hi,
I want to develop and ActiveX control with some standard controls ( or maybe if possible with a cooler look ), but It seems to be very hard to disable buttons and such things with ATL ( sending the message, instead of getting the controls and...).
Can anybody help me on that ?, Thanks, Bye
Braulio
|
|
|
|
|
I was wondering how I go about changing the background color of a View in a WTL application. I have a handler to WM_ERASEBKGND and my code breaks into the OnEraseBkgnd function but it seems that the code is just ignored.
LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CBrush br;
CClientDC dc(m_hWnd);
br.CreateSolidBrush(RGB(30,30,30));
CRect rect;
GetClientRect(rect); // Using this because
//dc.GetClipBox(rect); // this usually comes back empty.
dc.PatBlt(rect.left, rect.top, rect.Width(),
rect.Height(), PATCOPY);
bHandled = true;
return 0;
}
Cheers,
Clint
|
|
|
|
|
I'm using OnCtlColor event to paint the dialog background.
HBRUSH CMyClass::OnCtlColor(CDC* pDC,
CWnd* pWnd,
UINT nCtlColor)
{
switch (nCtlColor)
{
case CTLCOLOR_BTN:
case CTLCOLOR_STATIC:
pDC->SetBkMode(TRANSPARENT);
break;
case CTLCOLOR_DLG:
{
if (m_pBrush)
delete m_pBrush;
m_pBrush = new CBrush(m_dwCorBkgDlg);
return (HBRUSH) (m_pBrush->m_hObject);
}
}
return(CDialog::OnCtlColor(pDC, pWnd, nCtlColor));
}
and it's working well.
[]'s
|
|
|
|
|
I am not using a dialog. I am just using your standard doc/view default where the view is white and the surrounding document is windows standard. I am not sure how I would use this in my case.
Cheers,
Clint
|
|
|
|
|
Btw is there a way to make this work?
<cpp>
#define REPEAT( TYPE, DIM, I ) \
#if ( I == 0 ) \
#( \
#endif \
#const TYPE& + rv#ii \
#if ( I < DIM - 1 ) \
#, \
REPEAT( TYPE, DIM, I + 1 ) \
#else \
#) \
#endif \
The idea is
if we have REPEAT( double, 3, 0 )
to get as result
"const double& rv0, const double& rv1, const& rv2"
|
|
|
|
|
1) I can't tell what you're trying to do.
2) If it's this complex, make it a function instead of a macro. If the type is unknown, overload the function for the expected types.
To hell with those thin-skinned pillow-biters. - Me, 10/03/2001
|
|
|
|
|
You can't perform stuff like this with preprocessor macros. what do you want to achieve?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
The idea is following:
I have containers like
template< class T >
struct TSPACE3
{
TSPECE3( T x, T y, T z, T w );
T x;
T y;
T z;
};
template< class T >
struct TSPACE4
{
TSPECE4( T x, T y, T z, T w );
T x;
T y;
T z;
T w;
};
and vector like
template< class T >
class TVector : public T
{
};
typedef TVector< TSpace3<double> > Vector3d;
typedef TVector< TSpace4<float> > Vector4f;
So now if I make a instance of these objects, I would like to use constructors of TSpace, without to define them into TVector, also I don't want to make ctor like
TVector( T& x,...)
Usage
Vector3d v3d( 1, 0, 3 );
Vector4f v4f( 1.0f, 2.3f, 4.4f, 3.4f );
Some kind of "inherited" the ctor of TSpace
|
|
|
|
|
Assuming that your REPEAT macro works, how would you use it to solve this problem?
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
So what you really want is a way to initialize the elements to a specific set of values? You can do that with a custom allocator or if it's just for a single element then you can just use an init function.
Todd Smith
|
|
|
|
|
No you can't do that.
<soap box=""> And besides it's unreadable to another programmer.
However, you could do
#define REPEAT( TYPE, DIM, I ) const TYPE& rv[DIM];
and then use another macro for accessing the elements
instead of rv0 it would be rv[0]
Todd Smith
|
|
|
|
|
The problem is that you'd have to initialize the array of references...
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
hi folks -
Background: My super-duper heavily multi-threaded app is suffering from an intermittent, and partially random, memory leak somewhere deep in the inner workings of a thread-safe multi-source/single-sink logging mechanism. On exit, as everybody knows, the MSVC runtime prints out the addresses, and first 16 characters(actually 'MAXPRINT' -- see crt/src/dbgheap.c), of all unfreed memory blocks. Unfortuantely, this isn't enough for me to pinpoint the source of the leak, so I need to recompile MSVCRTd.DLL with an increased value for MAXPRINT. Several hours this morning spent attempting to reconstitute the missing MSVCRTD makefile, followed by an almost-successful binary patch of the DLL have both failed to do work properly.
Does anybody have a makefile, or a procedure to build this DLL?
ta,
- robin.
|
|
|
|
|
No BoundsChecker or Purify at hand? They will give you much better diagnostic information.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
I don't have an answer to your question. However, I'm curious as to why you can't figure out the source of the memory leak. I mean, usually when DevStudio spews out the memory leaks it also gives you the file and line number where the allocation took place. If you're not getting that, then it's probably because you haven't defined new to DEBUG_NEW at the top of your cpp files, like this:
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
Make sure all your cpp files have this at the top, after your includes. That should clear things up a bit.
Regards,
Alvaro
|
|
|
|
|
Does anyone know of any good sites with Pocket PC / Windows CE code snippets / samples?
Although Code Project is great for most things - it is a little light on specific CE issues.
|
|
|
|
|
I'm trying to save/restore the size and position of multiple views in an MDI.
Here is my dilema in it's simplest form. When I open a new child window by default I call:
CRect rect;
CFrameWnd* pParentFrame = GetParentFrame();
CWnd* pMDIClient = pParentFrame->GetParent();
pMDIClient->GetClientRect(&rect);
pParentFrame->MoveWindow(0,0,450,430);
which sets the size and location of my window. so then I try to save it by calling in the specific view:
GetWindowRect(&rect); but top = 163, bottom = 572, left = 3, right = 551;
and
GetWindowPlacement(&wp); but top = -3, bottom = 406, left = -3, right = 445
I would expect to receive top =0, bottom = 430, left =0, right = 450 since that's where I moved it.
Any ideas? Thank you
|
|
|
|
|
GetWindowRect is returning co-ordinates relative to the screen, and MoveWindow has positioned it relative to the parentframe. Call GetwindowRect and then call pPArentFrame->ScreenToClient to normalise the co-ordinates relative to that window.
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
|
|
|
|
|
Am looking into writing a small application to be run on a Pocket PC and I have requirement to stop the user of the Pocket PC use anything other than the application. I.e. I need to stop them getting to the apps like Inbox, the start menu etc.
In the WM_INITDIALOG of my app, I have added the following.
SHDoneButton(this->m_hWnd, SHDB_HIDE);
SHFullScreen(this->m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESTARTICON);
On running, the application is full screen - but the Start Menu is still there.
My device hasn't got a physical keyboard - If I had one of those would I need to prevent ALT-TABBING as well ?
One suggestion that I've had is that this isn't possible in Pocket PC and I'd have to get Platform Builder out and make my own version of CE - which sounds really scary ? Is this on the right lines ?
All help much appreciated.
|
|
|
|