|
|
i just add a new atl object and in miscelaneus choose dialog
|
|
|
|
|
The ATL object wizard will create a dialogs. However WTL makes life much easier (especially if you are used to the easy MFC life, like I was)
Michael
Logic, my dear Zoe, merely enables one to be wrong with authority. - The Doctor
|
|
|
|
|
I tend to wrap my Dialog in a Simple Object wrapper with a Show Method and then in my MFC App, I create an instance of my object and call the Show method.
Michael
Logic, my dear Zoe, merely enables one to be wrong with authority. - The Doctor
|
|
|
|
|
Hi,
You know when you load a non-normal resource it will open it in some sort of Binary or Hex viewer? Could someone explane very precisly what all of it means? There are three columns, one on the left that appears to mark lines, one in the middle that appears to have the data, and some strange column on the right. I'm most interested in the column on the right.
Thanks,
~ Selevercin
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
I believe the right most column tries to show the data as text.
Christian
I am completely intolerant of stupidity. Stupidity is, of course, anything that doesn't conform to my way of thinking. - Jamie Hale - 29/05/2002
Half the reason people switch away from VB is to find out what actually goes on.. and then like me they find out that they weren't quite as good as they thought - they've been nannied. - Alex, 13 June 2002
|
|
|
|
|
The three columns are in order:
1 Offset - the hexadecimal offset of the beginning of that line (within that resource)
2 Data - hexadecimal representation of that "line" of data. Often 16 bytes is represented/line.
3 ASCII representation of that data.
|
|
|
|
|
Is there a way to copy the "data"? Every time I try, I get the ASCII part of it?
Thanks,
~ Selevercin
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
What you get on the clipboard is the raw data. No, you can't copy the ASCII representation of the hexadecimal representation of the data. You can however paste it into a "binary file" (MSVC term) window, save that, and then use some "hexdump" command-line utility to get it.
No, I won't write a hexdump utility for you.
|
|
|
|
|
Any program that does this?
This is required when i want to know the resource symbol/ID of the control on the dialog quickly. I hate clicking on properties and finding out what the symbol is.
This is used for ETSLayout, when i'm adding the controls to the panes.
Thanxs in advance!
|
|
|
|
|
Ah found it
http://www.codeguru.com/misc/NITpick.html
Just need to enable the annotate item with ID.
Any other programs?
|
|
|
|
|
I need an unresizable dialog. I was thinking of getting the size at the beginning of the program then if the user tried to resize it I would just reset it back to the original size. However, I've seen programs that don't even display the resize arrows. I tried playing with the dialog settings but it doesn't seem to work. Any ideas?
-Raffi
|
|
|
|
|
dialogs are unresizable by default, and you can disable the max/min/restore buttons in the resource editor.
-c
Garbage collection, making life better - for weenies!
|
|
|
|
|
hmmm, well my dialog is resizable. Do you know what the default settings are? When it is a popup or overlapped dialog it crashes when the program starts. When it is a child it works, but I can't add/remove the min and max buttons. It is a dialog based app. Is that the problem?
-Raffi Yet another example of my bad programming skills.
|
|
|
|
|
oh, i fixed it. really stupid.
-Raffi Yet another example of my bad programming skills.
|
|
|
|
|
go in the resource editor, open your dialog. click the Styles tab. choose "Dialog Frame" as the border type. click Title Bar and System Menu. (and min/max boxes, if you want). those are the defaults.
c
Garbage collection, making life better - for weenies!
|
|
|
|
|
The unhanlded exception error appears at different times when i run this code. Sometimes when i is 100 and sometimes when it's 500.
for (i = 0; i < horzres*vertres; i++)
{
bInfo.bmiColors[i].rgbRed = GetRValue(pCol[i]);
bInfo.bmiColors[i].rgbGreen = GetGValue(pCol[i]);
bInfo.bmiColors[i].rgbBlue = GetBValue(pCol[i]);
bInfo.bmiColors[i].rgbReserved = 0;
}
Thanks very much in advance!
|
|
|
|
|
If you're trying to fill a bitmap with data, they are word aligned internally, and you need to skip the padding at the ned of each row. My GDI+ image processing articles show how - the principle is the same in C++/GDI because the internal structure is the same.
Christian
I am completely intolerant of stupidity. Stupidity is, of course, anything that doesn't conform to my way of thinking. - Jamie Hale - 29/05/2002
Half the reason people switch away from VB is to find out what actually goes on.. and then like me they find out that they weren't quite as good as they thought - they've been nannied. - Alex, 13 June 2002
|
|
|
|
|
bmiColors is the palette, not the image.
-c
Garbage collection, making life better - for weenies!
|
|
|
|
|
The BITMAPINFO struct is defined as follows:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;
It's the bmiColors[1] property i'm confused about. This requires an array to RGBQUAD structs and all i have is a pointer to an array of them, how do i use the pointer when it wants an array?
Thanks
|
|
|
|
|
MSDN :
The RGBQUAD structure describes a color consisting of relative intensities of red, green, and blue.
typedef struct tagRGBQUAD { // rgbq
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
Members
rgbBlue Specifies the intensity of blue in the color.
rgbGreen Specifies the intensity of green in the color.
rgbRed Specifies the intensity of red in the color.
rgbReserved Reserved; must be zero.
Remarks
The bmiColors member of the BITMAPINFO structure consists of an array of RGBQUAD structures.
And keep in mind that an array is a pointer!
u can always write:
int a[5];
a[1] = 2;
*(a+1) = 3; // Means a[1] = 3;
Papa
Murex Co.
|
|
|
|
|
This bmiColors is the tip of a variably-sized array of RGBQUAD s. Suppose for instance your palette has nBmiColors entries, you'd allocate and stuff the thing like this:
unsigned nBmiColors=256;
BIMAPINFO* lpbmi=(BITMAPINFO *)malloc(
sizeof(BITMAPINFO)+
nBmiColors==0?0:(nBmiColors-1)*sizeof(RGBQUAD));
for(unsigned n=0;n<nBmiColors;++n)
{
lpbmi->bmiColors[n]=...;
}
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hello,
I don't know if someone could help me with this, but if they could I would very much appreciate it. I created a very basic MDI application to let me open Bitmaps. So that works fine. I click Open, select a bitmap, voila, my Bitmap appears!
But, when I start this program, it comes with one blank window open. If I decide to close this window (or if at any time I decide to close all windows) and have no windows open, I encounter a problem I'd like to fix. If I hit Open, and select a Bitmap, it opens a new window, but no bitmap appears. It is simply a blank window. I want the bitmap I had chosen to appear.
I tried to use OnFileNew, or even CWinApp::OnFileNew, but it tells me these methods are protected. If I take them out of protected and make them public, funny enough, it STILL says they are protected. I am sure that making them public instead of protected is the wrong way to do this, but I am currently out of ideas.
If anyone knows how to make file->open open a new window as well, I'd really like to know how you do it.
Thanks a whole lot,
Nick One
|
|
|
|
|
The CDocument derived class has an OnNewDocument method ( or something similar ), and that is where you want to do it.
Christian
I am completely intolerant of stupidity. Stupidity is, of course, anything that doesn't conform to my way of thinking. - Jamie Hale - 29/05/2002
Half the reason people switch away from VB is to find out what actually goes on.. and then like me they find out that they weren't quite as good as they thought - they've been nannied. - Alex, 13 June 2002
|
|
|
|
|
To stop a window being opened at the the start of your application:
if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing ;
Just before the call to ProcessShellCommand()
Roger Allen
Sonork 100.10016
If I had a quote, it would be a very good one.
|
|
|
|