?
Solved

Main window without 3d boder

Posted on 1998-11-25
13
Medium Priority
?
355 Views
Last Modified: 2013-12-03
How to create a Main Window (using createWindow) which has
window caption and menu, without the 3d boder. (ie) like
WS_POPUP.

Thans in advance.
0
Comment
Question by:kalai26
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
  • 2
  • +1
13 Comments
 
LVL 2

Expert Comment

by:wyy_cq
ID: 1416329
you may try thin border sytle.

0
 
LVL 22

Expert Comment

by:nietod
ID: 1416330
There is no thin border style.  There is a thick border style, WS_THICKFRAME, don't specify that to begin with.  Also don't specify the WS_DLGFRAME style.  Make sure you don't specify any styles that contain these styles "inside" them. like WS_OVERLAPPEDWINDOW.  Do specify the WS_BORDER style.
0
 
LVL 22

Expert Comment

by:nietod
ID: 1416331
What is happening with this question?
0
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 

Author Comment

by:kalai26
ID: 1416332
Regarding wyy_cq's proposed answer, there is no thin boder....

Regarding "nietod" comments, it is very close to what I want
but it is not removing the boder completely.

Here are more details and calling sequence in my program:

    WinMain()
    RegisterWindowEx()
    CreateWindowEx()
 
and I am not using MFC. I have used many combinations but I am
still seeing a thin boder!!

Is anyone know how to get-ride of the boder, using Win32 porgramming.
0
 
LVL 22

Expert Comment

by:nietod
ID: 1416333
By default, windows don't have a bordert.  You are adding a border, probably by specifying the WS_BORDER style or another style that includes that style.  Make sure you are not specifying that style.  If you can't figure that out, post the code where you create the window.
0
 
LVL 2

Expert Comment

by:wyy_cq
ID: 1416334
i mean WS_THICKFRAME .
i write a dialog base demo, and i find that even if i select the thin border style , the dialog has a 3d border.
perhaps win95 cancel the style.

you may deal with WM_NCPAINT ,and paint the simple line on the edge of the window if you could not find a better idea.
0
 
LVL 2

Expert Comment

by:wyy_cq
ID: 1416335
you may try to modify the window's style after creation.

you can delete the style and exStyle which may generate a 3d border.
setWindowLong(...);
0
 
LVL 22

Expert Comment

by:nietod
ID: 1416336
I'm confused, what is the goal here?  To create a window with no border or to create one with a thin border?
0
 

Author Comment

by:kalai26
ID: 1416337
Create a window with NO BODER.
0
 
LVL 22

Expert Comment

by:nietod
ID: 1416338
Then just don't specify any border styles.  If that isn't working, post the code that you use to create the window so we can ofter suggestions.
0
 
LVL 1

Accepted Solution

by:
yuryz earned 200 total points
ID: 1416339
Try this:
1. react on WM_CREATE message sent to your main window
2. add this code:

       DWORD dwStyle = GetWindowLong( GetSafeHwnd(),WL_EXSTYLE );
      dwStyle &= ~( WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE );
      SetWindowLong( GetSafeHwnd(), GWL_EXSTYLE, dwStyle );
3. resize window to the size it was last time started, or any specific size you need.

0
 
LVL 22

Expert Comment

by:nietod
ID: 1416340
yuryz, why bother doing all that?  just specify the styles you want when you create the window.  The problem is that kalai26 is using the wrong styles.

Also you can assume that if there has been no response in the last 4 weeks, that kalai26 is no longer looking for an answer.
0
 
LVL 1

Expert Comment

by:yuryz
ID: 1416341
hah ! try it yourself ! seems like styles being always added if not by MFC, then by windows itself...
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article, I will show how to use the Ribbon IDs Tool Window to assign the built-in Office icons to a ribbon button.  This tool will help us to find the OfficeImageId that corresponds to our desired built-in Office icon. The tool is part of…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question