|
Are you sure that the initial values in your OVERLAPPED structure are correct? Have you checked the error code when ReadFile() returns FALSE ? Lastly, are you sure it is a good idea to use overlapped IO for what is such a simple file read?
I must get a clever new signature for 2011.
|
|
|
|
|
Richard MacCutchan wrote: Lastly, are you sure it is a good idea to use overlapped IO for what is such a simple file read?
Good point, indeed.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks for the answers, I got it.
How can you advance file pointer if you don't use overlapped IO?
|
|
|
|
|
hi
is there any way to filter the only memory leaks which is due to code written by me,not internal code?
Actually what happens ,i caused only 3 memory leaks in my code,but there are 61 memory leaks displayed by the vld.
|
|
|
|
|
There is no such thing as a valid memory leak. IMO you should fix them all.
Are you maybe saying there are false positives? In that case you should report it to the author of the tool.
|
|
|
|
|
If there are internal memory leaks, it is highly likely that you are not using the APIs or functions correctly.
|
|
|
|
|
There is a method to get m_hWnd of dropdown list of CComboBox , of course , except GetComboBoxInfo(...) ?
I need to get that handle to work on Windows NT SP6 , and there I haven't COMBOBOXINFO struct and GetComboBoxInfo ...
I try this[^] method , but is not good for me for two reason :
1. Don't function 'nCtlColor == CTLCOLOR_LISTBOX' part , I don't know why
2. This handle will be avaiable only after I clicked to dropdown button of CComboBox , and I needed in PreSublclassWindow already .
Thank you .
|
|
|
|
|
I don't know the answer, but I will give you a few ideas.
Are you sure this is not just an SDK version problem? Have you tried sending the CB_GETCOMBOBOXINFO to the combobox on WinNT? If it's not in the SDK, you can define it along with a COMBOBOXINFO struct and then send the message for testing purposes. Nothing bad will happen, and you will see if the COMBOBOXINFO data changes. If it does, fine, if it doesn't you will need another approach.
Most of the MSDN documentation says minimum supported client = Windows 2000 professional, even though the messages has been around since at least Win 3.1. AddString[^] example.
Are you sure the list box is even created when you want to subclass the control?
Finally, have a look at the implementation of a ComboTree[^].
|
|
|
|
|
i have string that may contain unicode character,i want to write that strings into text file,replacing unicode character with unicode values
|
|
|
|
|
|
Hi,
I suppose you want something like this (C++):
#include <sstream>
#include <iterator>
size_t OutputByteVals(const std::wstring ws, std::ostream& out)
{
const size_t nBytes = ws.size() * sizeof(wchar_t);
std::copy_n(reinterpret_cast<const char *>(ws.data()), nBytes , std::ostream_iterator<int>(out, " "));
return nBytes;
}
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
modified on Wednesday, March 2, 2011 3:22 AM
|
|
|
|
|
Hi, I have a SDI project, its view is derived from CRichEditView.I already knew how to TextOut a the outline of some text (the example of MSDN CDC::BeginPath).Right now I want to press keyboard "a",and the outline of "a" show in the view, just like the effect of MS Word. How can I do?
modified on Wednesday, March 2, 2011 12:39 AM
|
|
|
|
|
Select the text, then set the CHARFORMAT2 info. Note the CFM_OUTLINE value.
|
|
|
|
|
Thank you Hans!
I tried your method,but it didn't work. MSDN says"CFE_OUTLINE - Characters are displayed as outlined characters. The value does not affect how the control displays the text." Does that mean the selected text is set to "CFM_OUTLINE", but keep the display unchanged?
|
|
|
|
|
If I keeping calling this code it eventually crashes:
locale mylocale("");
ostringstream os;
os.imbue(mylocale);
Anyone know why?
|
|
|
|
|
Where does it crash? Do you have kernel symbols set up? What function?
|
|
|
|
|
It crashes on this line: locale mylocale("");
What are "kernel symbols"?
|
|
|
|
|
You're not passing a valid locale name to the constructor.
Here is an excerpt from the documentation -
If a locale name _Locname is a null pointer or otherwise invalid, the function throws runtime_error.
|
|
|
|
|
I don't think so.
Every single example on the internet I've seen has locale("")
|
|
|
|
|
I'm using Image::GetThumbnailImage() to load some JPG files into an image list that is then attached to a list control. Most of the pictures display, but a few don't. Those that display, have widths that equal or exceed their heights (landscape). Those that don't display, have heights that exceed their widths (portrait), and GetThumbnailImage() does not return an error value.
I'm scaling the images down and maintaining the aspect ratio using the following code:
int nMaxPixels = 16;
int nOriginalWidth = bitmap.GetWidth();
int nOriginalHeight = bitmap.GetHeight();
double dFactor;
if (nOriginalWidth > nOriginalHeight)
dFactor = (double) nMaxPixels / nOriginalWidth;
else
dFactor = (double) nMaxPixels / nOriginalHeight;
int newWidth = nOriginalWidth * dFactor;
int newHeight = nOriginalHeight * dFactor;
I then add to the image list and the list control using:
Bitmap *pThumbnail = (Bitmap *) bitmap.GetThumbnailImage(newWidth, newHeight);
HBITMAP hBMP;
pThumbnail->GetHBITMAP(Color(255, 255, 255), &hBMP);
CBitmap mfcBitmap;
mfcBitmap.Attach(hBMP);
m_imageList.Create(16, 16, ILC_COLOR32, 5, 1);
int nImage = m_imageList.Add(&mfcBitmap, RGB(255, 255, 255));
if (nImage >= 0)
m_listCtrl.InsertItem(nImage, fileFind.GetFileTitle(), nImage);
mfcBitmap.Detach();
delete pThumbnail;
Another oddity worth mentioning is that sometimes CImageList::Add() will return an existing item number. I'm not sure yet if this is related or not.
If I make the following change when calling GetThumbnailImage() , all of the pictures display although the portrait ones are stretched:
Bitmap *pThumbnail = (Bitmap *) bitmap.GetThumbnailImage(max(16, newWidth), newHeight);
Thanks.
- DC
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Some people are making such thorough preparation for rainy days that they aren't enjoying today's sunshine." - William Feather
|
|
|
|
|
At the risk of telling you something you already know, here are a few CP articles that discuss this:
Thumbnails viewer and image processing using GDI+ and MFC[^]
Thumbnails Viewer using ListCtrl[^]
MSDN has the warning "The GetThumbnailImage method works well when the requested thumbnail image has a size of about 120 x 120 pixels. If you request a large thumbnail image (for example, 300 x 300) from an Image that has an embedded thumbnail, there could be a noticeable loss of quality in the thumbnail image. It might be better to scale the main image (instead of scaling the embedded thumbnail)."
|
|
|
|
|
From MSDN[^]:
An "image list" is a collection of same-sized images, each of which can be referred to by its zero-based index. Image lists are used to efficiently manage large sets of icons or bitmaps. All images in an image list are contained in a single, wide bitmap in screen device format.
That really puts some constraints on what you can stuff in there.
You will have to add space to your thumbnail, to make it conform to whatever size you give upon construction of the image list. Wider and higher might work, since I believe those images are just clipped to fit the size.
|
|
|
|
|
Niklas Lindquist wrote: An "image list" is a collection of same-sized images,
'Tis true they are the same size after they are added to the image list, but I don't think they need to be beforehand. For example, I've got one picture that is 3264x2448 and another that is 2147x1390, and they both display fine.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Some people are making such thorough preparation for rainy days that they aren't enjoying today's sunshine." - William Feather
|
|
|
|
|
You can add images that are wider than your set up 16 pixels, but not narrower. A wider image will be clipped to fit the width. A narrower image will be rejected. Check CImageList::GetImageCount() after you have added an image to see if it was accepted. (Don't trust the return value of CImageList::Add() for this.)
You will have to add space to your thumbnail
|
|
|
|
|
Niklas Lindquist wrote: You will have to add space to your thumbnail
Any reading suggestions for this?
[edit]
I found what I was looking for with Graphics::FromImage() and Graphics::DrawImage() . Thanks!
[/edit]
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Some people are making such thorough preparation for rainy days that they aren't enjoying today's sunshine." - William Feather
modified on Wednesday, March 2, 2011 2:17 PM
|
|
|
|