OK, got your point.
geoyar
Posts
-
New newsletter layout -
New newsletter layoutIt is better. Did not get two things: 1. What is the meaning of icons to the left of the list items (light bulbs or paper (?) pages)? 2. You may also like... What is it? Is it not a contribution of CP author, something else? What? Also, article rating is very deceiving thing: look how many posts are saying 'Wonderful!!!' about very mediocre articles. I would never allow high ratings to influence me. Low rating is another thing. Maybe it is better to display ratings when an article is open. Anyway, thank you for a quick reaction.
-
New newsletter layoutYes, filter might help, but also might be very wrong. For example, lot of articles on design patterns are in C#. So if you are C++ guy and are interested in design patterns, you have to invent a very complicated filter and for what? To allow wrong solution to exist? I think your position is not defensible. You took the good layout and replaced it with very bad. And you insist that the users should do their own extra work to correct what you did. And what about new/updated? And answer honestly: what did you want to accomplish? Definitely you made life of the readers much more difficult. For what? Restore the old layout and keep it until you find something better. Addition: I read the reply by Yuriy. I think it is totally wrong. If the guy is searching a list for what he needs, it is totally wrong to narrow the field of the search as it was suggested. Sometimes you can find a pearl on the side. What is important, it is to give him a clear cues what he is looking at. In your solution the user sees the list without cues, and it is wrong.
-
New newsletter layoutFirst of all, there is very little info you can extract from thumbnails. I see no help from them. Second, any newsletter layout should make search for the article or programming tip easier. For example, I am the C++ guy. So, before, I went straight to C++ category. So it is not about like/don't like the new look. This is about no possibility to use a newsletter: would you scan all newsletter to find there is nothing for you today. Please return to old layout with categories, new and updated articles/tips/blogs. I saw another post here with the same request. Again, the new layout renders newsletters of no use. I would rather use search for latest C++ articles than wander amid these thumbnails.
-
New newsletter layoutToday, 08/25/2014 I got a weekly CP newsletter. What a mess! Before, we had categories like C++, Android, etc., and New Articles, Updated Articles, Tips, etc. You could quick find new C++ article and skip Android if you are not interested. Now all are in one messy list with these stupid thumbnails to the left. Do guys who change the layout have any clues how people are using CP newsletters? It is better to return to old layout immediately.
-
Editing offlineThank you. The reason I did editing offline (in Kompozer) is that for me 'Update your article' page is notoriously bad and is very difficult to tame. For example, the design view and html view are not synchronized, I found no way to make all editing in the design view, etc. Maybe it is my illiteracy, but I dare to use this page only to change couple of sentences or correct spelling. So I prefer to send corrected version directly to my CP editor.
geoyar
-
Editing offlineIt seems you are talking about 'Update your article'. At the right upper corner are 'Get HTML to edit offline', 'Update your article', and 'Delete'. I already did editing offline. My question is how to put the resulting HTML file in my article, or how to replace old HTML with the new.
geoyar
-
Editing offlineI have downloaded HTML file of my article to edit it offline. I did all editing. How can I put the edited file onto my article page? What the procedure is?
geoyar
-
Missed postTo site adm: The message basil3000 has posted a new comment at "[Article]: An MFC Chart Control with Enhanced User Interface": >>Nothing seems to be able to open the demo source code zip. Can you upload it again? I have received a notification in my email, but the message is not posted as a message to my article. So I cannot answet it as usual authors of CodeProject articles do.
geoyar
-
Get/Kill focus in MFCAfter a bit of trying and debugging this is what I got: 1. You are right: SetWindowPos with SWP_NOACTIVATE does not send WM_NCACTIVATE to other windows. So SetWindowPos(&wndTopMost, x, y, cx, cy, SWP_SHOWWINDOW|SWP_NOACTIVATE); does not change the main dialog/window frame. But control that have received mouse right click and created popup topmost window does lose focus. I had to restore focus manually, using SetFocus(). 2. If the position and size of the window are not changing SetWindowPos will not redraw window if you do not call Invalidate() or InvalidateRect/Region() before call to SetWindowPos. 3. The window must be created without WS_VISIBLE. Other way even with WS_EX_NOACTIVALTE main dialog frame changes. This is a code: BOOL CTipWnd::CreateTipWnd() { BOOL bRes = FALSE; bRes = CreateEx(WS_EX_LAYERED|WS_EX_TRANSPARENT|WS_EX_TOPMOST|WS_EX_NOACTIVATE, AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS), NULL, WS_POPUP, 0, 0, 0, 0, NULL, NULL, 0); // Not visible if (bRes) { CRect tipWndRect = SetTipWndRects(); bRes = SetLayeredWindowAttributes(bkgndCol.ToCOLORREF(), 0, LWA_COLORKEY); SetWindowPos(&wndBottom, tipWndRect.left, tipWndRect.top, tipWndRect.Width(), tipWndRect.Height(), SWP_NOACTIVATE); // Still not visible } return bRes; } void CTipWnd::UpdateTipWnd(..., bool bShow) { // Changing window layout ........................... // Done. Now redraw and show it if (bShow) { Invalidate(FALSE); CRect tipR; GetWindowRect(&tipR); SetWindowPos(&wndTopMost, tipR.left,tipR.top, tipR.Width(), tipR.Height(), SWP_SHOWWINDOW|SWP_NOACTIVATE); } } And in calling control void CSliderGdiCtrl::OnRButtonDown(UINT nFlags, CPoint point) { m_tipWndPtr = new CTipWnd; m_tipWndPtr->SetOwner(this); .............. BOOL bRes = m_tipWndPtr->CreateTipWnd(); if (!bRes) { delete m_tipWndPtr; m_tipWndPtr = NULL; } else { UpdateTipWnd(); SetFocus(); } } .................. } Thank you so much for your help.
geoyar
-
Get/Kill focus in MFCFinally, I did it. It is about processing WM_NCACTIVATE in the main dialog. Just like BOOL CSliderGDIDlg::OnNcActivate(BOOL bActive) { if (bActive) return CDialog::OnNcActivate(bActive); return FALSE; } Of course the condition might and should be more sofisticated.
geoyar
-
Get/Kill focus in MFCI coded a modeless dialog in and it works like the topmost window: the main dlg frame is changing. So I am again at square one.
geoyar
-
Get/Kill focus in MFCSorry, I have deleted all SetWindowPos from my code. I remember that in my other app I used a modeless dialog box with CStatic in it over the modal dialog box. I have no problem with focus, placement and visibilty of this box. So I created a modeless dialog box CTipDlg m_tipDlg and added to OnRButtonClick: OnRButtonDown(UINT nFlags, CPoint point) { m_tipDlg.Create(IDD_TIPDLG, this); m_tipDlg.SetLayeredWindowAttributes(RGB(10, 10, 10), 0, LWA_COLORKEY); m_tipDlg.ShowWindow(SW_SHOW); ..................................................................... } Now I see two dialogs, one modal, one modeless(layered, transparent and not topmost), with two active frames. The focus stays on control I have clicked. It is the test of concept for now. It might not work for me at the end. But focus behaves as I wanted. Of course it is overkill, because all I need is a visible window. Of course I will look in CDialog MFC code. Any help will greatly appreciated.
geoyar
-
Get/Kill focus in MFCYes, you are right. It is about repainting the dialog border. I tried SetWindowPos with SWP_NOACTIVATE|SWP_SHOWWINDOW and the first parameter as &wndTopMost and &wndTop. With &wndTop the window is invisible, with &wndTopMost it is visible. On both occasions the dialog window loses focus and the frame is repainted. It happens no matter what the first parameter of the SetWindowPos you passed.
geoyar
-
Get/Kill focus in MFCI got the problem with focus when I show the window on right click on the control in active dialog box. The window is anchored to some point inside the control and the window rect is less than the rect of the dialog box. If I do not set WS_EX_TOPMOST, the window is under the dialog box, and is not visible. If the ex style is set to WS_EX_TOPMOST, I have my problem. If the window is set outside the dialog box rectangle, it is wisible without WS_EX_TOPMOST. I think it is because the dialog stays as a topmost window. What is interesting, if I would set this window as a modeless dialog box, there is no problem with flicker. I did not check the situation with focus yet. I think Microsoft does some trick with the dialog box and its controls. When we are moving from contorol to control we see no flicker.
geoyar
-
Get/Kill focus in MFCThank for reply. In my opinion, WS_VISIBLE does not matter at the point of window creation, beause I pass the empty rect(CRect(0, 0, 0, 0)) to CreateEx. Anyway, I tried it without WS_VISIBLE with the same results. When you use MoveWindow(..., bRedraw = FALSE) the window is not visible, and the focus is not transferred. ShowWnindow(SW_NOACTIVATE) does not work because it post the WM_PAINT as a last message to be processed: I tried it and no immediate reaction was visible. Besides, it seems that NO_ACTIVATE is about user input, not about focus. For me it seems that the culprit is WM_EX_TOPMOST. Seems that the topmost window get the focus always. WM_EX_LAYERED|WM_EX_TRANSPARENT redirect user input to underlayng windows, but not the focus. So my problem is about preventing the transfer of the focus when the popup window is created and displayed from whithin another window.
geoyar
-
Get/Kill focus in MFCI have a CDialog class with controls (e.g. CMySlider:public CSliderCtrl). If I right click on the control area, the layered popup window is created, moved, and displayed. Code is: in MySlider::OnRButtonDown bRes = CreateEx(WS_EX_LAYERED|WS_EX_TRANSPARENT|WS_EX_TOPMOST|WS_EX_NOACTIVATE, AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS), NULL, WS_POPUP|WS_VISIBLE, 0, 0, 0, 0, NULL, NULL, 0); ........... if (bRes) { CRect tipWndRect = SetTipWndRects(...); ......... SetLayeredWindowAttributes(RGB(...)), 0, LWA_COLORKEY); MoveWindow(&tipWndRect, FALSE); // Tip is not visible because init. rect is empty .......... RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_NOERASE); GetOwner()->SetFocus(); } All is working. Problem is that the popup window immediately gets focus and before the control acquires focus back, I see flicker: the dialog box loses focus, its non-client area changes colors, and all returnes to th state when popup is visible and the control keeps focus. How can I show the popup in block the transfer of focus? I tried OnSetFocus, OnKillFocus, but it seems that these functions are called after events.
geoyar
-
how to compile a project to dll file ?try a walkthrough from msdn http://msdn.microsoft.com/en-us/library/ms235636.aspx
geoyar
-
AddFunction and AddMember in VS2008 Standard VC++ MFC ProjectThank you Kevin! It is exactly what I need, and it works just fine.
geoyar
-
AddFunction and AddMember in VS2008 Standard VC++ MFC ProjectI have a problem with AddFunction and AddMember dialog boxesin my VS2008 Standard edition. My project is VC++ MFC, in MS VS2008 Standard under Window XP Home SP3. The web browser is IE8. When I try to add a function to my C++ class, the AddFunction dialog box apeears without edit boxes for the function return type and for a parameter type. In process of invoking the AddFunction dialog box I am getting two error messages: 1. Line 849, char 2, error "Parametertype Vale Length is null or not object Code 0 File///C:/Program%20Files/Microsoft%20Visual%20Studio%209.0/VC/VCWizards/CodeWiz/MFC/Function/HTML/ 1033/default.htm. 2. The same message is for the line 505. When I tried to display this file, default.htm, in IE8.0 I got the same message, errors at lines 849 and 505. In the JS debugger line 849 is: document.scripts("INCLUDE_SCRIPT").src = windows.external.FindSymbol("SCRIPT_COMMONPATH")+ "/script.js" and error is: "Object does not support this property or method. The same story is with the AddMember dialog box: no edit box for a member type, and the same messages for a VariaableWiz.. Both dialog boxes display a message at the top, in information bar help: "An add-on for this web site failed to run. Check the security settings in Internet Options for potential conflict." If I ignore the messages and use the dialog boxes anyway, I am getting added members of undefined type or function of undefined return type and parameter of undefined type It is not a problem with VS2008. The same defects are in VS2005 Standard. What is more interesting, in VS2003 Enterprise Editions the AddFunction and AddMember dialog boxes are normal, but in IE8 the html file for these Wizard are displayed as in VS2008, without edit boxes for function return type, parameters type or type of member varialbles. It seems that I am experiencing these problems after I have upgraded my IE7 to IE8, and these problems are with Java scripts. Any help? geoyar
geoyar