|
Hi
I was looking to intercept a Rich Edit controls keystrokes, seems I have call CRicheditctrl::SetEventmask with ENM_KEYEVENTS> this lead me to a article about notification When a Rich Edit is resized
The Author Thales P. Carvalho has the notification method OnRequestResize in the parent window. I cannt seem to find this method in either Cdialog or CWnd maybe he was referring to OnNotify ?
|
|
|
|
|
If you have a question about an article, use the forum at the bottom of that article. That way, the author will be notified of your question, and you're not relying on them stumbling across your question in a completely different part of the site.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
See EN_REQUESTRESIZE notification code (Windows)[^]. It is a notification code send with a WM_NOTIFY message. So there must be a message map entry in the parent window class:
ON_NOTIFY(EN_REQUESTRESIZE, ID_of_the_richedit_ctrl, OnRequestResize) and a function definition in the header file:
afx_msg void OnRequestResize(NMHDR *pNMHDR, LRESULT *pResult);
|
|
|
|
|
That's what I thought thanks it wasn't clear from the article
|
|
|
|
|
this code correct or no? thank you in advance.
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/core/mat.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include<iostream>
#include<math.h>
using namespace std;
using namespace cv;
float soft_tresholding(Mat src, float threshold)
{
int height=src.rows;
int width=src.cols;
for(int y=0; y < height; y++)
{
for(int x=0; x < width; x++)
{
if (src(y*width+x) > threshold)
src(y*width+x) = src(y*width+x) - threshold;
else if (src(y*width+x) < -threshold)
src(y*width+x) = src(y*width+x) + threshold;
else
src(y*width+x) = 0;
}
}
}
int main()
{
system("clear");
Mat src=imread("/home/jamal/Bureau/lena.jpg",0);
Mat dst;
float threshold;
dst=soft_thresholding(src,threshold);
namedWindow("Picture", CV_WINDOW_AUTOSIZE);
imshow("Picture", src);
namedWindow("picf", CV_WINDOW_AUTOSIZE);
imshow("Picf", dst);
waitKey();
return 0;
}
modified 13-Aug-17 9:15am.
|
|
|
|
|
saidinsan000000000 wrote: this code correct or no?
But didn't you test it?
Does it compile?
Does it work as expected?
|
|
|
|
|
saidinsan000000000 wrote: this code correct or no? It all depends on what you mean by "correct." Are you asking if it is syntactically correct, logically correct, or some other measurement?
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I read a program, a function definition like:
void A( int channel)
{
}
While the caller like:
A();
I know it's OK. can't find a explanation.
|
|
|
|
|
why do you say it's OK ?
it's not.
void A( int channel)
{
}
int _tmain(int argc, _TCHAR* argv[])
{
A();
return 0;
}
1>c:\temp\fargs.cpp(11) : error C2660: 'A' : function does not take 0 arguments
|
|
|
|
|
But in the program,
our system.
It works.
I tested it. just the caller.h:
extern void A(void);
I debugged the code, it stepped into the A(i);
in fact, only one A() function in the program.
|
|
|
|
|
what compiler are you using?
at best, i would think the behavior is undefined. the function is going to try to find a parameter, somewhere. maybe it pulls some random garbage off the stack where it expects a parameter to be, or maybe your compiler puts variables into certain registers (and so the function will just grab random garbage out of a register).
|
|
|
|
|
It's a GHS compiler.
An embedded project.
|
|
|
|
|
It's possible that the compiler patches the call with a default argument.
What is the value in channel? I'm guessing it is 0.
Anyway this is not valid in standard C and will surely not compile in GCC or Microsoft C compilers.
«_Superman_»
I love work. It gives me something to do between weekends.
Microsoft MVP (Visual C++) (October 2009 - September 2013) Polymorphism in C
|
|
|
|
|
It looks like you have two different versions of A. But then you are not showing us the complete code.
|
|
|
|
|
You shoud correct your caller.h to have the correct prototype for A(). Then #include caller.h in both where you define A() and where you invoke it.
This "works", due to C calling conventions, where the caller is responsible for pushing and popping arguments off the stack. In your case the caller doesn't push anything on the stack. When A() executes it will use whatever values are on the stack as its parameters, which in this case could be any value at all.
|
|
|
|
|
Further to this, in C the declaration void f(); does not declare a function with no parameters, but declares a function with an unknown number of parameters. If you know that a function takes no arguments, you should prototype it as void f(void); . Otherwise, the compiler will happily let you do the following:
void f();
int main(void)
{
f();
f(15);
f("Hello", "World");
}
Using gcc I can compile the above with -Wall -Wextra, and get no warnings. If I add -Wstrict-prototypes, I do get the warning "function declaration isn’t a prototype [-Wstrict-prototypes]. If you're using MS-VSC, there's probably a similar warning flag that you can use.
|
|
|
|
|
There are only two options...
1. There is a function declarations in an other (probably h) file with a default value
void A(int c = 0);
int main()
{
A(1);
}
void A(int c)
{
}
2. There is an overloaded version of A somewhere else
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: void A(int c = 0); Do C functions allow this?
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Of course not - but that only means that OP does not know the difference between C and C++
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: Of course not Right. So then why would you suggest to him that such a function was a possible explanation for his question?
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
As I told - I'm not sure OP knows the difference between C and C++ and what language is the project in (a leftover from someone else probably)...
Taking in count, that it is part of code from a working system, and that the mentioned compiler can compile both C and C++, and the abilities of C and C++ I put my bet on OP's mistake...
In fact if we stick to the C version, it can not work at all (C has only the varargs option, but that forces at least one named parameter, which we have not)...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Hi Everyone,
I have a application which needs to read a file of size 113MB and stores each row data into a class object which is in turn stored in a std::map<int, cmyclassobject="">. Running it in 32-bit 4 GB RAM , the "Out of Memory" error triggered. After a observation , I felt that the RAM is not sufficient, so now I tried it in 64-bit 8GB RAM system but still the same exception is thrown. Can anyone help me in finding what exactly might be problem and how it can be overcome?
Thanks in Advance!!
|
|
|
|
|
Do you NEED to hold all of the data in memory concurrently?
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
yes. the data read from the file to be stored internally.
|
|
|
|
|
I understand that much from your initial post. But does it all need to me in memory concurrently? It's highly unlikely that it does, but only you can be the ultimate judge of that.
What exactly are you doing to/with the data? Maybe an on-disk solution can be suggested.
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|