|
But why using C instead VC++
|
|
|
|
|
What exactly are you trying to do? Open a file? Write to a file? Find a .wav file's header? Be a tad more specific.
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
hi all,
i have a problem, i have created an EditControl dyanmically, when ever a mouse click there at that point an edit control will be created.
But my problem is that if i choose a menu and tell
LeftAlign, RightAlign, Center Align. then this dyanmically created Edit box must align accordingly,
i know the Api called ::MoveWindow() will solve all this but please give any suggestions to move accrodingly.
Uday kiran
|
|
|
|
|
uday kiran janaswamy wrote: Edit box must align accordingly
When you are creating the edit box you would be getting the HANDLE of the edit box.
You can use MoveWindow using that Handle.
BOOL MoveWindow( HWND hWnd,
int X,
int Y,
int nWidth,
int nHeight,
BOOL bRepaint
);
Specify the new coordinates along with the new height and width you want to let the control acquire. Use true/false if you want to repaint/No repaint the edit window.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
hi anshuman,
but how to get the Handle of the Newly created EditBoxes.
i mean
CEdit *ptredit = new CEdit;
ptredit->Create(...) //dynamically created editboxes.
but my problem is that when i click then a new edit box will be created at that point.
but how to iterate all the created editbox dynamically and move that editbox window handle in to new position.
please provide me your help for this solution.
Uday kiran
|
|
|
|
|
<br />
::MoveWindow(ptredit->m_hWnd,...)<br />
ptredit->MoveWindow(...) or ptredit->SetWindowPos(...)<br />
whats problem?
|
|
|
|
|
hi whitsky,
i have a problem, when i am creating a editbox dynamically when in LButtonClick even i am sucessfully creating a EditBox at that Point.
My Problem after clicking it generates all the editboxes at that placeses where i have created. I used a menu item also where AlignLeft,AlignRight and Align Center are the Options.
when ever i Click Align Left then all the dynamical EditControls must move to Left, same for the Right and Center also.
In order to do so i have to get the Handle of the Newly created EditBoxes. and Call ::MoveWindow(...).
please let me know how to do proceed.
Uday kiran
|
|
|
|
|
you want when you click a button then all editbox move to there instead use of many MoveWindow,right?
|
|
|
|
|
uday kiran janaswamy wrote: how to get the Handle of the Newly created EditBoxes.
To get the handle of the edit box you can use:
ptredit->GetSafeHwnd();
You can also use
ptredit->MoveWindow(//Specify new positions etc//);
uday kiran janaswamy wrote: terate all the created editbox
Create an array dynamically so that you can store objects of type CEdit
Eg: CEdit *ptrEdit[];
ptrEdit[i]=new CEdit; ////where i is a variable you can increment each time the user Creates an edit box
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
hi anshuman,
thank you very much, now i got it.
Uday kiran
|
|
|
|
|
hi
I placed an ActiveX Control on a Dialog Box.I want to get the Background of the ActiveX Control on the Dialog box(The Dialog Box is textured so it has non-uniform background colour).
I am able to get the complete background of Dialog Box but the ActiveX Control obscures it's own background.
I want to make the ActiveX control background same as the dialog background where it overlaps.
how can i get it's background??
"Every morning I go through Forbes list of 40 richest people in the world. If my name is not in there, I go to work..!!!"
|
|
|
|
|
Generally speaking, you can achieve what you want only if you have the ActiveX control code (provided that the control does not already provide a "transparency" property).
There, you should make it transparent in some of its areas (where you do not display useful information). In other words, you have to set the window region.
SkyWalker
|
|
|
|
|
|
Hi Gurus,
I log an event with event type as 0 ( EVENTLOG_SUCCESS ). In event viewer the event has the Information icon. But when I open the properties window for the event, the Type is displayed as None. Why?
Thanks
C++beginer
|
|
|
|
|
Logging to the event log isn't easy, especially if you want to follow the rules and get a nice looking log.
I suggest you search for articles (here on CP) on the subject.
Alcohol. The cause of, and the solution to, all of life's problems - Homer Simpson
|
|
|
|
|
See here[^] maybe it is some helpful to you
|
|
|
|
|
I have gone through these articles. In winnt.h the event types are given as
#define EVENTLOG_SUCCESS 0X0000
#define EVENTLOG_ERROR_TYPE 0x0001
#define EVENTLOG_WARNING_TYPE 0x0002
#define EVENTLOG_INFORMATION_TYPE 0x0004
#define EVENTLOG_AUDIT_SUCCESS 0x0008
#define EVENTLOG_AUDIT_FAILURE 0x0010
Still if I log an event with event type value as zero, Success is not shown as the type in EventViewer. Thats what I do not understand.
C++beginer
|
|
|
|
|
|
It seems only error, information, warning, audit_success and audit_failure can be used as event types for logging. They what is the purpose of EVENTLOG_SUCCESS in winnt.h?
C++beginer
|
|
|
|
|
Hello
I have a viewer written in VC++ and OpenGl which will load and show the building models. Initially the model was designed to draw every floor in the center of the screen and then translate (shift) while drawing the next floor. Thus the display will always be centered.
I am trying to change this behaviour as the translation for every floor is a huge overhead for a large models. So I chose a co-ordinates to start with and then it builds the model. However once it is complete i want to move the model to the center which I am not able to do. I tried the following:
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
glTranslatef(-8.0, -8.0, -8.0);
RedrawWindow(NULL,NULL,RDW_UPDATENOW|RDW_INVALIDATE);
glPopMatrix();
I am not sure how to determine the center of the screen. Theoretically it should be, say for x, Near_Left_Bottom_Point.x + Far_Right_Top_Point.x)/2.0
and so on.
but I am not sure how to obtain the Near_Left_Bottom_Point.x.
Any pointers would be much helpful!
Thanks in advance
Jam
|
|
|
|
|
From studying various piecs of code and books, I inferred the following is the very basic code needed for a thread. Will it create and run a thread? If so, will ScheduleThreadProc continue to iterate without any form of coded loop? Thanks.
void CSchedule::startLoop()
{
AfxBeginThread(ScheduleThreadProc, this);
}
UINT ScheduleThreadProc( LPVOID pParam )
{
****my code here***
return 0;
}
|
|
|
|
|
Hello,
Oliver123 wrote: Will it create and run a thread?
Yes.
Oliver123 wrote: If so, will ScheduleThreadProc continue to iterate without any form of coded loop
No, the thread function is just like any function. It runs from begining to end. After it returns, the thread terminates. To keep the thread running, your ****my code here*** should define a loop.
Best,
Jun
|
|
|
|
|
There are two types of Threads:
1) User Interface Threads:
User-interface threads are commonly used to handle user input and respond to events and messages generated by the user.
For creating a user-interface thread derive a class from CWinThread.Then use RuntimeClass in the AfxBeginThread().
2) Worker Threads:
Worker threads are commonly used to complete tasks, such as recalculation, that do not require user input.
Creating a worker thread is a relatively simple task. Only two steps are required to get your thread running: implementing the controlling function and starting the thread.
This is what you are doing here. Creating a worker thread
Oliver123 wrote: Will it create and run a thread
Yes this will Create a thread and the control is transferred to ThreadProc.
Avoid using Terminate Thread etc when you do want to exit from a thread. Always return from the thread function.
Oliver123 wrote: without any form of coded loop
You need to have a loop in the thread function.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
And see here[^] maybe it is some helpful to you
|
|
|
|
|
Thanks. I put a for()loop with a sleep() and beep in the thread, and it beeps ten times just like it should.
|
|
|
|