SDI 로만 작업해 오다 MDI 가 필요하여 웹서핑하여 자료를 모아 보도록 하겠습니다.
1. MDI 폼에서 SDI 가 크라이언트 영역을 벗어나면 자동으로 스크롤 바가 생깁니다. 이 스크롤 바를 없애고 싶으면
- 메인폼에
function ClientWindowProc(wnd: HWND; msg: Cardinal; wparam, lparam: Integer): Integer; stdcall;
var
f: Pointer;
Begin
f := Pointer(GetWindowLong(wnd, GWL_USERDATA));
case msg of
WM_NCCALCSIZE: begin
if (GetWindowLong(wnd, GWL_STYLE) and (WS_HSCROLL or WS_VSCROLL)) <> 0 Then
SetWindowLong(wnd, GWL_STYLE, GetWindowLong(wnd, GWL_STYLE) and not(WS_HSCROLL or WS_VSCROLL));
end;
end;
Result := CallWindowProc(f, wnd, msg, wparam, lparam);
end;
- 폼 생성 시
procedure TfrmMain.FormCreate(Sender: TObject);
begin
if ClientHandle <> 0 Then begin
if GetWindowLong(ClientHandle, GWL_USERDATA) <> 0 then Exit;
SetWindowLong(ClientHandle, GWL_USERDATA, SetWindowLong(ClientHandle, GWL_WNDPROC, Integer(@ClientWindowProc)));
end;
end;
2. 차일드폼이 미니마이즈 될때 엠디아이 크라이언트 영역 아래쪽에 네모로 보입니다. 이게 보기 싫어 안보이게 하려면..
- 베이직 폼을 하나 만들고
type
TfrmBase = class(TForm)
private
{ Private declarations }
public
procedure WMSize(var M: TWMSIZE); message WM_Size;
end;
- 구현(Implementation) 영역에
procedure TfrmBase.WMSize(var M: TWMSIZE);
begin
if M.SizeType = Size_Minimized then begin
ShowWindow(Handle, Sw_Hide);
M.Result := 0;
end
else inherited;
end;
- 차일드 폼이 이 베이직 폼을 승계 하면 됩니다.
TfrmChildForm = class(TfrmBase) // 그냥 만든 후 수정해주어도 됩니다.
private
public
end;
2012년 10월 30일 화요일
피드 구독하기:
댓글 (Atom)
tensorflow gpu 사용하기에서
tensorflow 설치시 주의해야 한다. # Anything above 2.10 is not supported on the GPU on Windows Native python - m pip install "tensorflow<2.11...
-
클라이언트가 HTTP프로토콜을 이용해서 서버에 무언가를 전달할 때 Get 이나 Post가 사용됩니다. GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 여러개일 경우에는 & 으로 반복하고, POST는 숨겨져서(body안에) 보내집니다. GET...
-
1. 휴대폰 앱을 이용하여 키움증권 비대면 계좌를 만듭니다. 2. Open Api 사용신청을 합니다. 3. 모의투자 신청을 합니다. 4. 멀티접속을 신청합니다. 5. 키움증권에 접속하여 키움 Open Api+ 를 다운 받아 설치한다. 6. 키...
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
댓글 없음:
댓글 쓰기