|
|
What you are looking for is the funtion CWnd::ModifyStyle.
The good thing about pessimism is, that you are always either right or pleasently surprised.
|
|
|
|
|
I tried both solutions:
ListView_SetExtendedListViewStyleEx(m_List.GetSafeHwnd(), LVS_ALIGNMASK, LVS_ALIGNLEFT);
and
m_List.ModifyStyle(LVS_ALIGNTOP, LVS_ALIGNLEFT);
none of them are working ... I am not figure out why ...
|
|
|
|
|
You need to use
DWORD dwStyle = GetWindowLong(m_hWnd, GWL_STYLE);
SetWindowLong(m_hWnd, GWL_STYLE, dwStyle);
There are probably some MFC shortcuts to this.
|
|
|
|
|
"There are probably some MFC shortcuts to this"
Yes, there is ModifyStyle (ModifyStyleEx), but seems not working either ...
|
|
|
|
|
Flaviu2 wrote: but seems not working Maybe you are not doing it correctly.
|
|
|
|
|
Is working by
ModifyStyle(LVS_ALIGNMASK, LVS_ALIGNTOP);
|
|
|
|
|
I noticed something: in order to work correctly, before I change the aligment style, I have to setup scrollbars of list control to top/bottom ... orelse, the list looks uggly (all items are bad drawned) ... it is logical to happend that ?
I am thinking that if I setup vertical scrollbar on some position, if I change the aligment style to horizontal, it doesn't fit at he same horizontal position ...
|
|
|
|
|
|
Hi,
i cannot figure this out:
hpp:
namespace ContractStorage
{
std::string DoIt(ContractName c); }
cpp:
namespace ContractStorage
{
std::string DoIt(ContractName c)
{
printf("yes");
}
}
It says: multiple definition of `ContractStorage::DoIt(ContractStorage::ContractName)'
How can this be, i only have the decalaration in the hpp file?
I have a class declaration in the same file, it does not complain about that...
|
|
|
|
|
There must be something else that is causing this that is external to your header file. I just tried that and it compiled without error. Does the error message give you any line numbers?
|
|
|
|
|
I noticed that the issue only occurs when i use "_" as function name. When i set it to something else it will work.
My namespace was named the same as my class, is it possible that the compiler did not detect the ambiguity?
modified 30-Sep-14 4:06am.
|
|
|
|
|
Well for some reason (that cannot be seen from what you have provided), the function is being defined in more than one place. You need to go through all your code again to see where.
|
|
|
|
|
Off the top of my head, one thing that may cause this message would be if you #include the header in multiple locations and have no header guards (either pragma once directive or #ifndef/#define/#endif method).
|
|
|
|
|
I am getting a run time error with the code below. Trying to use a static iterator to reduce the number of calls to search a vector.
This is a method of a class that contains a vector of curves (so _vector is part of the class.)
It runs correctly the first few times called, but the first time the static iterator doesn't point to the correct curve and _vector should be searched, I get a runtime error "Incompatible Vector Iterators" calling the == operator.
I can't really tell what the error is. If it is a const versus non-const or it is creating copies of the vector somewhere.
Is there a better way to do this?
Thanks
Mark
bool findpt(pt_tag<_Ty>* s)
{
if (_vector.empty())
return false;
static vector< curve<_Ty> >::iterator i = _vector.end();
if (i == _vector.end()) <-- RUN TIME ERROR HERE
i = std::lower_bound( _vector.begin(), _vector.end(), s->_dtEffDate );
else {
if ((i._Ptr->getdate() != s->_dtEffDate))
i = std::lower_bound( _vector.begin(), _vector.end(), s->_dtEffDate );
}
if ((i == _vector.end()) || (s->_dtEffDate != (*i)._date))
return false;
cpoint<_Ty> c;
c.setdate( s->_dtFwdDate );
if (i._Ptr->interpolate( &c ) == true) {
s->_valid = true;
s->_value = c.getvalue();
return true;
}
return false;
}
|
|
|
|
|
are you modifying the vector between calls to this function?
if so, that might (will, probably) invalidate 'i'.
|
|
|
|
|
I am canning this routine as the vector may end up being modified.
Thx for the input.
|
|
|
|
|
I placed a formview on a dialog because formview handle scroll itself.
Problem is: When I create and resize foemview (using movewindow) bigger than dialog, scroll does not appear. But when I do the same thing from resource ( create big formview dialog on design time) , scrolls appears.
I need to resize the formview based on content to I need scroll at run time.
Please suggest, how can I do?
|
|
|
|
|
Hi all.
I develop an application that send UDP packet to the embedded board. Embedded Board cannot receive packet because packet protocol changed to ARP.
If I replace the Embedded Board with a PC and sniff network with WireShark, UDP packets are seen. what's the problem?
If I send UDP packet with PacketBuilder to the Embedded board, it can receive it.
I use MFC CSocket class to send UDP packet.
My Code is:
CSocket sockSrvr;
if ( sockSrvr.Create(1239,SOCK_DGRAM)==0)
{
MessageBox("Can't create socket");
return FALSE;
}
char data[100];
memset(data,1,sizeof(data));
if ( sockSrvr.SendTo(data,sizeof(data),1239,"10.14.83.11")<=0)
{
MessageBox("Error in Sending");
return FALSE;
}
sockSrvr.Close();
return TRUE;
I test windows API to send UDP packet but not differ with CSocket.
thanks for your help
|
|
|
|
|
If the board will not accept UDP packets then there is not much you can do. You need to read the device's documentation to find out how it works.
|
|
|
|
|
Thank for your reply.
Board can accept UDP packet. It can receive packet that generated with colasoft packet builder.
Thanks again.
|
|
|
|
|
Well that seems to be your answer.
|
|
|
|
|
I downloaded several SVD c++ code, but they all have same error.
by SVD theory, a matrix A(mxn) (m: rows, n: columns) can be decomposed as
A(mxn) = U(mxm) * S(mxn) * V'(nxn)
(U, S and V are matrices)
U and V must be orthogonal matrices:
U x U' = U' x U = E, V x V' = V' x V = E
(E is identity matrix)
Problem:
if m > n, those codes generate U' x U = E (correct), but U' x U != E (error).
they are all correct for V.
Because all of codes have the same error, I think U should be this way even it is not satisfy SVD theory.
Or all codes are wrong (sounds not reasonable.)
How do you think about? maybe I have to download more C++ source codes to test?
.
|
|
|
|
|
This is mathematics not C++, so you need to go through the code to find out where the calculation is wrong.
|
|
|
|
|
Quote: if m > n, those codes generate U' x U = E (correct), but U' x U != E (error).
Probably you meant
if m > n, those codes generate U' x U = E (correct), but U x U' != E (error).
Anyway, if U' x U = E then U' = U<sup>-1</sup> , therefore U x U' = E .
THESE PEOPLE REALLY BOTHER ME!! How can they know what you should do without knowing what you want done?!?!
-- C++ FQA Lite
|
|
|
|