|
Hi,
This CDialogBar is very confusing
The Doc says create/instatiate in MainFrame OnCreate
but.....
I want to use it later on in my modeless Dialog Box
do I create it on the heap.... via new and save the pointer
then do a ShowWindow in my Oninitdialog handler
can anyone give me guidence
|
|
|
|
|
I assume you are building CFrameWnd based application which is needed to use the CDialogBar. Here I also assume you will be using the CDialogBar in a CMainFrame class (and not a CChildFrame which is also possible)
You can create the CDialogBar whenever you'd like after the main window has been created (you normally set the frame window as the parent of the CDialogBar). So you can create it when you need it i.e. when your modless dialog is opened.
It might however be more practical to create it in CMainFrame::OnCreate initially hidden and then just show/hide the CDialogBar when needed. The reason for this is the LoadBarState/SaveBarState API used to store the docking state of docking windows. It is much easier to handle LoadBarState on application start-up and SaveBarState on exit for all dockable windows at once and not make any special arrangements for a specific CDialogBar. If this is not important, you can create the CDialogBar whenever you want.
|
|
|
|
|
A more specfic question can CdialogBar be used in a modless CDialog or was it meant for the CMainFrame
class
|
|
|
|
|
You cannot dock it inside a CDialog (without extensive work, don't go there).
Think of the CDialogbar as a modeless CDialog that you also can dock in your main frame, or child frame for that matter.
|
|
|
|
|
I like the way the MS picks these names CDiagBar to confuse people
A tool bar for modless Cdialog would be CToolBar
|
|
|
|
|
Hi Expert
How can i save folder?
|
|
|
|
|
Save folder? Save it where? Do you want to copy all the contents of the folder or something like that?
This example[^] lists all files in a directory. You could easily change the code to save those files to a location by using something like CopyFile[^].
Workout progress:
Current arm size: 14.4in
Desired arm size: 18in
Next Target: 15.4in by Dec 2010
Current training method: HIT
|
|
|
|
|
Do you mean how to create a folder?
To create folder you can use CreateDirectory() or CreateDirectoryEx() APIs.
Directory Management Functions[^].
If your question is something else please write that clearly.
--
"Programming is an art that fights back!"
|
|
|
|
|
|
Hello.
I have two complications with Visual C++ express edition:
Why wouldn't it tell me what line there is a syntaxis error in?
Is there any way I can make system build the project every time I want to launch it automatically?
Thank you.
|
|
|
|
|
cavemen wrote: Why wouldn't it tell me what line there is a syntaxis error in?
When you build/compile your project, does it not display a list of errors and warnings in the "output" window ? do you see the output window ? When there is an error there should be something like that :
1>.\folder\file.cpp(3511) : error C2143: syntax error : missing ';' before '}'
cavemen wrote: Is there any way I can make system build the project every time I want to launch it automatically?
If you run/debug your application after you change the source code, it should normally ask you to build your project again.
In VS2008 (not express) There is an option (tools->options->Project&Solutions->Build&Run) to prompt the user when the projects are not up to date (i.e. needing recompile); check it out.
other than that, I'm not certain what is your problem.
Max.
Watched code never compiles.
|
|
|
|
|
I did what you have told me.
Everything is solved but I am still not sure what line the syntaxis error is when debugger tells there is an error.
Thank you.
|
|
|
|
|
Are you talking about a compilation error or a runtime error ?
when debugging, the debugger will give you some information about the error it encounters :
- call stack (gives the call-context so you can trace-back the crash and see what function called what other function)
- local data (watch window to inpect variables, ...)
- output window (sometimes)
- ...
other than that, perhaps give us the error you get (copy'n'paste the error you get) and we can help you with that.
M.
Watched code never compiles.
|
|
|
|
|
There is no specific problem.
I just remember how VB6, the old school visual basic highlighted the syntaxis error and refered to it with a message box.
VC++08 doesn't do that?
I loved that option and Basic code is a lot more tolerant to typos.
|
|
|
|
|
cavemen wrote: VC++08 doesn't do that?
Yes, you compile a file/project and it will list the compilation errors in the output window, there, you can double-click on the error in the list and it will open the appropriate file and and go to the line in question.
it's been like that since a long time in Visual Studio ...
Watched code never compiles.
|
|
|
|
|
VC++ 2010 Express has a feature similar to this. The issues is, to some extent, between interpreted and compile languages.
It's time for a new signature.
|
|
|
|
|
It's probably got more to do with C++ being a real bitch to parse - the VC++ development team ended up embedding the EGC C++ compiler front end in the IDE to detect errors as you type. There's a lot of compilation going on in there... shame they can't use their own compiler so that when you finish typing the new object file is ready to link.
Cheers,
Ash
|
|
|
|
|
Aescleal wrote: so that when you finish typing the new object file is ready to link.
I suspect the overhead would be somewhat expensive. Personally I have no problem typing (some of) the source, running a compilation, then fixing all the syntax errors, before moving to the next piece of code.
It's time for a new signature.
|
|
|
|
|
I have written a code which takes the data out of the Matrix for an image and converts from RGB to Y component. My next step would be to split this matrix into 4x4 blocks and perform some calculations. After this, I want to take the resultant matrices and do some computations with the original Matrix. I am confused with the loops and how to go about creating the loops. I will be very glad if someone can help me with a code snippet. Thanks a lot.
Sharp
|
|
|
|
|
could you please elaborate your problem, and present it clearly with an example?
--------------------------------------------
Suggestion to the members:
Please prefix your main thread subject with [SOLVED] if it is solved.
thanks.
chandu.
|
|
|
|
|
Here is what I want to do. I have an image which I converted from RGB to Y component. Now I want to group the pixels into a 4x4 block. And then take an average for each block. And then subtract this with the original 4x4 block.
|
|
|
|
|
still not clear about your question.
what is your original matrix size, that you want to sub matricize to 4X4 blocks?
i require an example to help you out.
--------------------------------------------
Suggestion to the members:
Please prefix your main thread subject with [SOLVED] if it is solved.
thanks.
chandu.
|
|
|
|
|
you just re-wrote the original question ... not explain.
Watched code never compiles.
|
|
|
|
|
Ok ... I will try again.
I have a matrix of size 128x128. I want to divide this matrix into groups of 4x4 that means the resultant is a matrix of 32x32.
The next step is to take an average of this 4x4 matrix, and have the same value for all matrix elements.
The resultant will be something like this
a b c d
e f g h
M1=i j k l
m n o p
M1 is the given matrix. The new matrix M2 is given with the element value q is given by
q = a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p/16
q q q q
q q q q
M2=q q q q
q q q q
And in the next step I want to subtract M2-M1.
Would be great if you can help me with a code snippet.
Thanks
|
|
|
|
|
1.if your original matrix of size 128/128 is say "M",
2.write a function as follows
ComputeSubMatrix(int row,int col)
{
int avg=0;
for(int i=row;i'<'row+4;i++)
{
for(int j=col;j'<'col+4;j++)
{
avg+=M[j][i];
}
}
for(i=row;i'<'row+4;i++)
{
for(int j=col;j'<'col+4;j++)
{
M[j][i]=avg-m[j][i];
}
}
}
3.now, you call this function in nested loops, by passing the start row and column of each sub matrix.
4.and this should solve your problem.
--------------------------------------------
Suggestion to the members:
Please prefix your main thread subject with [SOLVED] if it is solved.
thanks.
chandu.
|
|
|
|