I have 3 monitors connected. Two 1080p and one 1440p. If I drag VS to the 1440p, then I get those weir black edges and I cannot find a way to fix it.
Can I ask for some assistance please?
Fixed by turning off "Optimize rendering for screens with different pixel densities"
Related
I noticed that the focus rectangle has changed in one of our legacy app when it works in Windows 10. It turned out that there are other old-style Microsoft apps in which we see the same effect - for example, in HTML Help Workshop. The focus rectangle must be a dotted rectangle consisting of alternating black and white dots, but we see a 2-pixel rectangle blended with the selection that looks like a red-orange rectangle:
The problem appears only on 2 computers with Windows 10, version 1909. One of them is the Pro edition, the other is the Home edition.
The focus rectangle is drawn in our app with the WinAPI DrawFocusRect function. The documentation for the DrawFocusRect function states the following:
Windows XP: The focus rectangle can now be thicker than 1 pixel, so it
is more visible for high-resolution, high-density displays and
accessibility needs.
But this does not help to understand why the problem occurs only on those 2 computers. They are equipped with normal 96dpi displays, and as I know, no accessibility options are turned on in them.
What it could be and how to fix the drawing of focus rectangle to see the traditional 1-pixel black/white dotted rectangle?
If it helps, here is an example of code used to draw the focus rectangle in our VB6 app:
Dim hBrBlack As Long
hBrBlack = CreateSolidBrush(vbBlack)
FrameRect hMemDC, rcFocusRect, hBrBlack
DeleteObject hBrBlack
SetBkColor hMemDC, lColor1
SetTextColor hMemDC, lColor2
DrawFocusRect hMemDC, rcFocusRect
Thank you all who commented my question. The situation became clear, but not in all parts of the problem. I am resuming all what we know by now in this kind of an answer.
Yes, indeed, in Windows 10 we can open Control Panel > Ease of Access > Ease of Access Center > Make the computer easier to see and find the Make the focus rectangle thicker option:
The first thing I do not understand is that why this option became checked. Simon Mourier thinks it is a carryover from a previous Windows installation, but I doubt this is true. I definitely know that at least on my dev pc nobody checked this as only me could do that. It seems that Windows decide at some point to check this option itself depending on some system parameters.
The second incomprehensible point is why the focus rectangle became dark-orange-red. But maybe, this is by design. Perhaps, somebody in Microsoft decided that this color is the best choice for the focus rectangle.
Taking into account all this, I think, the best choice for me and other developers who need the focus rectangle in our apps is to draw the focus rectangle by ourselves using the thickness defined by the SPI_GETFOCUSBORDERHEIGHT and SPI_GETFOCUSBORDERWIDTH system parameter values.
I've seen images online of people able to display black & white pixel images on their TI brand graphing calculators:
I've tried googling around but I can only find instructions for color images for the TI-84 Plus CE calculator, and nothing for the older black and white screened calculators (Ex TI-84 plus which is what I have).
How do I display a black and white image on an older non-color TI graphing calculator?
Are there ways to import and display an image? Or do you draw it using individual points for each pixel? (I've seen instructions for making images using the graphing function, but I'm not sure if these images were created this way). Or is there a different way to do it?
First, you need your calculator, the standard a to mini b usb cable, a Windows or Mac computer, TI Connect Software, and an editing software such as photoshop.
Open your picture in your editing software. Desaturate the image, resize the image to 192 by 128, bring up the contrast to maximum, and save the image.
Go to this website or any website to pixelate the image.
https://www.imgonline.com.ua/eng/8bit-picture.php
Go to adjustment levels on your editing software to make the blacks truly black and the whites truly white.
Copy your image and open TI Connect. Plug in your calculator and turn it on. Paste your picture and save it. Press the Send Picture button, remember the file name you choose.
To open the picture make sure your drawing is clear and your axes are off, go to draw, choose RacallPic in the STO menu, enter the number of the file name you saved it on and you have your picture. Hope this helps.
I am a student building a senior project in Gamemaker Studio for our capstone project as part of my Game Development concentration.
I am in charge of sprite creation, and currently, it is randomly deleting bits as I draw. So I will draw a couple of bits, and then it will randomly remove the surrounding bits of color. I am becoming increasingly irritated at this and I have no idea why this is happening. Any help would be greatly appreciated.
Effectively, I am designing a character and I'm trying to give his arms a bit more depth so I give him a few more tan-colored muscles. As I do, it erases the rest of his arm.
If you mean the Sprite Editor, then I recommend you using a different program for the sprites, as that one is completely garbage. I'm using Paint.net, its free and works in a similar way like the gms2 sprite editor but better. more plugins, more effects, better shortcut handlings.
If you still wanna stick to the gms2 sprite editor then I'll recommend restarting the game first. that's a problem I never had. Maybe you should check if you are drawing in different layers, and the blend modes of the layers. also maybe your brush is not just a pixel, but maybe a bigger brush.
I am trying to get the width and height of all the windows. I did this easily with GetWindowRect however the styling in Win8.1+ seems such that there is a border on some windows and thats not being included. When I move/drag the window, this area moves with the window, so I expected it would be apart of its geometry. Is this known? Is there away to include the border width?
New Example
I created a second screenshot to explain after I see some confusion in the comments.
I have two windows side by side as seen in this image here:
Now if I take the GetWindowRect of the left and right windows, it should be a continuous rectangle around both of thse windows. However in the below we see this is not the case. I put a black fade over the whole desktop and cut out just the parts of the GetWindowRect for each window, we see the left window GetWindowRect is a bit smaller, this is my problem.
Old Example
For example this is a screenshot, using the cleared/non-black curtain area is what GetWindowRect identified as the width height, x and y:
We see there is some area of the window not included, I think this is the border? I used photoshop here to put a blue border around what all should have been:
And just for clarity I put an inner red border to show that the area between the red and blue borders was what should have been included, but was not:
Does anyone know how to include this "border" in the GetWindowRect?
Yes, GetWindowRect() lies to you. As you found out. It is a necessary lie. Goes back to Vista, the first Windows version that gave resizable windows their fat border. A pretty necessary feature, high screen resolutions were getting pretty common and the traditional 2-pixel border was getting too hard to hit with a mouse.
That created a massive compatibility problem however, many programs that create a window use CreateWindowEx(), you specify the outer window size. And don't use AdjustWindowRectEx(), the function that you must use to calculate the window size you need. Necessary because almost every window actually cares about the client size of the window. The part you fill with content. If they would have done nothing then legacy programs would end up creating windows with a client area that is too small, no longer fitting the content or aligning it out of whack. Very, very ugly.
So GetWindowRect() lies and pretends that the window has the traditional 2-pixel border. Pretty consistent lie, if you ask for the border size with GetSystemMetrics() then you get 2 back, even though it is 5. All works pretty well, until you start caring about positioning windows next to each other. Impossible to lie about that.
Turning off the lies requires letting Windows know that you are aware of the consequences of the fat borders. And know how to deal with Aero being turned off, possible on Vista and Win7. You must select the sub-system version number in the EXE file header and pick at least 6.00. The vast majority of programs use the legacy value, 4.00. Exactly how that's done depends on your tooling, for the Microsoft linker it is the /SUBSYSTEM option. It can be changed after the program was built with Editbin.exe, /SUBSYSTEM option. The program will no longer run on XP and earlier.
Windows 10 took an interesting new approach to this problem. The skinny borders are back. But now with a much bigger drop-shadow, the mouse is active beyond the border, even for windows that don't have a shadow. Works pretty well, hopefully we can all forget about this appcompat detail soon :)
We are attempting to expand text in Visual Studio. Our current attempt consists of creating transparent intraline adornments at certain points in the text.
We have just stumbled upon a disadvantage to this method. Namely that when the given text has a background classification attached to it, the classification breaks and the result looks like this:
We are currently researching possible ways of solving this by:
Inspecting the current classification of the text and drawing a colored intraline adornment.
Drawing the background manually, by drawing in an adornment layer below the text.
However, both of these solutions seem very hacky.
What would be the best way of going about solving this problem?
You're asking how to hack around a standing limitation in the editor, so there isn't a great way :-/
My background color fix extension does what you're suggesting in #2, so you could start from there. I haven't tested it since VS2010 or so, so it may fail in interesting and exciting ways.