![]() |
Intellisense on a dual monitor system |
Post Reply ![]() |
Author | |
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() Posted: 13 May 2009 at 3:35am |
Using the SyntaxEdit in a window on the secondary monitor, when you type <Ctrl><Space> to popup the intellisense menu, it appears on the primary monitor, secondary monitor is to the right of the primary monitor. You can see this using the SyntaxEditSample
Also, if there is only one value in the IntelliSense menu, could that be automatically selected (i.e AutoCompleted) on typing <Ctrl><Space>
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
uploads/20090514_200937_SyntaxEditOnDia.rar
You right. Thanks for catch. Will be fixed
Please try attached static sample based on fixed code and cofirm it (paste any C++ code into top edit window - e.g. this standard code.
void CSyntaxEditOnDialogDlg::OnPaint()
{ if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icondc.DrawIcon(x, y, m_hIcon); } else{ CDialog::OnPaint(); } } I tried on my 2-monitor system with same resolution on both horizontal located monitors.
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
All fixed in the sample,
thanks
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Thanks for your testing but you are wrong - need to cover the cases when AutoComplete window need some shift (like you in the bottom of virtual screen and need shift up to show all proposals or around right border of virtual screen and need shift left). You don't tested such cases....
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
OK, the menu should also move if the window is moved. and if there is only one item in it, it should be automatically selected rather than popping up the menu
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Menu is moving properly - check MDITextEdit static https://forum.codejock.com/uploads/DemoVersion/MDITextEditorStatic.rar (this base on code without today's modifications). Auto-selection? Guess you are right but for SyntaxEdit this is not a case as usually context menu have several items
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
I meant the intellisense popup menu, which doesnt move, in either of the samples
With intellisense, often you would type in two or 3 letters then <Ctrl><space>, by which time there should be only one option left and can be auto selected.
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Understand. Will check this. Thanks
|
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
No - wrong. If I typed "if" (CPP context) then it show intellesense menu with only one choice "if" presented and highlighted. Try SynatxEditOnDialog which I use to test this.
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
Thats right, What I am suggesting is that rather than popping up the intellisense menu with one item, it just finishes the typing for you with that one item, eg in HTML context, you type in bg you get one option bgsound, instead of showing the intellisense menu with that item on typing <Ctrl><space>, it just replaces the bg with bgsound.
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
No - it will be against human rights. No forced steps!
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
Thats how VisualStudio works if the intellisense menu is not showing when inputting into a document.
Intellisense works as it does in SyntaxEdit when inputting into a field, such as you see in forms when browsing the internet
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Could you try https://forum.codejock.com/uploads/DemoVersion/SyntaxEditOnDialog.rar in multi-monitor case with some extrema situations - cursor in the bottom on screen and so on please
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
A couple of things, If you have the intellisense menu showing, then move the main window, the intellisense menu stays open (goes behind the window) and doesnt move with the window
If you move the window to the left of the primary monitor (so that it is partly off the monitor), the intellisense menu is partly or completely off the screen. It is OK when to the window is off the right of the secondary monito or off the bottom of the monitors. Couldnt get the window to stay off the top of the screen
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Thanks for testing - essentially all I like to have is working now. Move window with open tooltip or intellisense can force to close tooltip or intellisense but still this is exotic. Partial invisible in very left postion on left monitor - this one I will improve. This is practical case.
|
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
OK.
SQL Server 2008 has the same issues with moving windows, Visual studio doesnt (it moves the intellisense menu)
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
Left pos fix done - I also update static demo so you can get it again if you wish. Thanks |
|
![]() |
|
jads ![]() Groupie ![]() Joined: 26 August 2008 Status: Offline Points: 32 |
![]() ![]() ![]() ![]() ![]() |
That looks fine now for the intellisense menu position. Cant check what happens if the window is above the top of the monitors as the window refuses to stay where positioned (seems to be the case for any window)
|
|
Product: Xtreme SuitePro (ActiveX) version 13.4.0
Platform: Windows XP (32bit) - SP 3 Language: Visual Basic 6.0 SP6 |
|
![]() |
|
mdoubson ![]() Senior Member ![]() ![]() Joined: 17 November 2008 Status: Offline Points: 1705 |
![]() ![]() ![]() ![]() ![]() |
You can do it with some code - draging window (e.g. with system menu - Move) allow to move window high enough but it refuse to stay here. Using code you can do it.
E.g.
BOOL CSyntaxEditOnDialogDlg::OnInitDialog() { CDialog::OnInitDialog(); ................................................
MoveWindow(100, -300, 500, 500);
return FALSE; }
And we cover this exotic case -
|
|
![]() |
Post Reply ![]() |
|
Tweet
|
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |