Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
아래한글과 MSWORD의 클래스 명을 어떻게....
제목 되로 아래한글과 MSWORD의 클래스 이름을 알아내는 방법을 알고 싶습니다.
감기 조심하세요...
전 지금 맛이 가서...ㅠㅠ
수고 하시고요....
3
COMMENTS
황익순
•
1999.06.11 02:28
제발 답변좀 해주세요...
스트링그리드에서 지원하는건 연속적인 데이타에 대해서만 다중선택(Multi Selection)이 가능 하더군요...
불행이도 저는 불연속적인 데이타에 대해서 다중선택해야 됩니다... 흑흑흑..
도와주세요...
고수님들 방법좀 가르쳐주세요... 부탁합니다...
0
0
삭제
수정
댓글
안치봉
•
1999.03.12 03:43
한 wrote:
> 제목 되로 아래한글과 MSWORD의 클래스 이름을 알아내는 방법을 알고 싶습니다.
>
> 감기 조심하세요...
>
> 전 지금 맛이 가서...ㅠㅠ
>
> 수고 하시고요....
그건 비주얼(?) 씨에 포함된 SPY.EXE 같은 종류의 프로그램을 사용하면 얻어낼수가 있습니다.
아니면 GetClassName API 를 사용해서 직접 구현 하셔도 됩니다.
자세한건 Windows API 를 참고하십시오.
0
0
삭제
수정
댓글
구창민
•
1999.06.11 20:54
황익순 께서 말씀하시기를...
> 제발 답변좀 해주세요...
>
> 스트링그리드에서 지원하는건 연속적인 데이타에 대해서만 다중선택(Multi Selection)이 가능 하더군요...
>
> 불행이도 저는 불연속적인 데이타에 대해서 다중선택해야 됩니다... 흑흑흑..
>
> 도와주세요...
>
> 고수님들 방법좀 가르쳐주세요... 부탁합니다...
황익순님 안녕하세요?
아래 내용은 영대님의 스트링 그리드 멀티셀렉트 팁입니다.
응용하시면 충분히 해결하실수 있으실 겁니다.
즐거운 프로그래밍 되세요~ ^^
// <사용방법> 아래 코딩을 하신후에 StringGrid의 어떤 프로퍼티도 변경할 필요가 없습니다
// Button1 을 클릭하시면 StringGrid의 특정영역이 선택되고 그 내용을 클립보드로
// 복사한 다음 다시 Memo 에 붙여넣기가 됩니다
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, clipbrd;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Memo1: TMemo;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure CopyStreamToClipboard(S: TStream; fmt: Word);
var
hMem: THandle;
pMem: Pointer;
begin
{stream의 위치를 맨 앞으로 이동시킨다}
S.Position := 0;
{stream의 크기만큼 전역 힙(heap)에 메모리 블록을 할당한후 원도우 핸들을 얻는다}
hMem := GlobalAlloc(GHND or GMEM_DDESHARE, S.Size);
if hMem <> 0 then
begin
{전역 힙의 할당된 메모리 블록을 고정(lock)시킨다}
pMem := GlobalLock(hMem);
if pMem <> nil then
begin
{할당받은 메모리 블럭에 stream의 내용을 복사한다}
S.Read(pMem^, S.Size);
{위의 S.Read()에 의해 증가된 포인터를 다시 맨 앞으로 이동시킨다}
S.Position := 0;
{전역 힙에서 메모리 블록의 잠금 해제}
GlobalUnlock(hMem);
{클립보드를 열러서 주어진 포맷(여기서는 CF_TEXT)과 원도우 핸들로 지정된
데이타를 클립보드에 준다}
Clipboard.Open;
try
Clipboard.SetAsHandle(fmt, hMem);
finally
Clipboard.Close;
end;
end
else
begin
{메모리 lock의 실패로 memory block 예외를 발생시킨다}
GlobalFree(hMem);
OutOfMemoryError;
end;
end
else
begin
{메모리 할당의 실패로 memory block 예외를 발생시킨다}
OutOfMemoryError;
end;
end;
procedure CopySelectedGridToClipboard(theGrid: TStringGrid);
var
m: TMemoryStream;
i, j: Integer;
S: String;
begin
m := TMemoryStream.Create;
try
with theGrid do
for i := theGrid.Selection.Top to theGrid.Selection.Bottom do
for j := theGrid.Selection.Left to theGrid.Selection.Right do
begin
S := Cells[j, i];
// 맨 마지막 선택된 Column이면 CR/LF 를 추가하여 행구분
if j = theGrid.Selection.Right then
AppendStr(S, #13#10)
else
AppendStr(S, #9); // 각 Column을 Tab 문자로 구분
m.WriteBuffer(S[1], Length(S));
end;
S[1] := #0; // 문자열 stream의 끝 표시
m.WriteBuffer(S[1], 1);
CopyStreamToClipboard(m, CF_TEXT); // stream의 내용을 클립보드로 복사
finally
m.Free;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
var
i, j: Integer;
begin
// Column의 title을 만든다
for i := 1 to StringGrid1.ColCount - 1 do
StringGrid1.Cells[i, 0] := Char(Ord('A')+i-1);
// Row의 title을 만든다
for i := 1 to StringGrid1.RowCount - 1 do
StringGrid1.Cells[0, i] := IntToStr(i);;
// 임의의 자료를 만들어서 각 cell에 입력합니다
for i := 1 to StringGrid1.ColCount - 1 do
for j := 1 to StringGrid1.RowCount - 1 do
StringGrid1.Cells[i, j] := Format('%.0n', [i * j * 10000.0]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
SelectedRectangle: TGridRect;
CoordTopLeft, CoordBottomRight: TGridCoord;
begin
// 선택하고자 하는 직사각형 영역을 설정한다
CoordTopLeft.X:= 2; // 두번째 컬럼부터 선택
CoordTopLeft.Y:= 1; // 첫번째 행부터 선택
CoordBottomRight.X:= StringGrid1.RowCount - 2; // 마지막 컬럼의 전컬럼
CoordBottomRight.Y:= StringGrid1.ColCount - 2; // 마지막 행의 전행
// 직사각형 영역을 TGridRect 에 할당한다
with StringGrid1 do
begin
SelectedRectangle.TopLeft := CoordTopLeft;
SelectedRectangle.BottomRight := CoordBottomRight;
end;
StringGrid1.Selection:= SelectedRectangle;
// StringGrid의 선택된 영역을 클립보드로 북사
CopySelectedGridToClipboard(StringGrid1);
// 클립보드의 내용을 메모로 붙여넣기(테스트용)
Memo1.Clear;
Memo1.PasteFromClipboard;
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
이대선
•
1999.03.11 06:47
2
COMMENTS
/
0
LIKES
키보드 후킹을 하고 난후 다른 문자를 보내고 싶어요.
이호선
•
1999.06.11 04:48
안녕하세요 저는 Access DB를 사용하여 프로그램을 합니다. 그런데 setup 화일을 만들려하는데 ODBC에 등...
안치봉
•
1999.03.12 03:47
이대선 wrote: > 후킹 콤퍼넌트 진짜 잘 만드셨고 요긴하게 잘 쓰고 있습니다. > > 현재 ...
한상훈
•
1999.06.11 04:26
1
COMMENTS
/
0
LIKES
sql...
구창민
•
1999.06.11 21:00
한상훈 께서 말씀하시기를... > data를 검색하는데 where 절의 조건을 edit.text에 입력한 값들을 > and...
한
•
1999.03.12 03:17
1
COMMENTS
/
0
LIKES
아래한글과 MSWORD의 클래스 명을 어떻게....
안치봉
•
1999.03.12 03:43
한 wrote: > 제목 되로 아래한글과 MSWORD의 클래스 이름을 알아내는 방법을 알고 싶습니다. > > 감기 ...
한
•
1999.03.12 03:17
3
COMMENTS
/
0
LIKES
아래한글과 MSWORD의 클래스 명을 어떻게....
제목 되로 아래한글과 MSWORD의 클래스 이름을 알아내는 방법을 알고 싶습니다. 감기 조심하세요... 전 지금 맛이 가서...ㅠㅠ 수고 하시고요....
황익순
•
1999.06.11 02:28
제발 답변좀 해주세요... 스트링그리드에서 지원하는건 연속적인 데이타에 대해서만 다중선택(Multi Sel...
안치봉
•
1999.03.12 03:43
한 wrote: > 제목 되로 아래한글과 MSWORD의 클래스 이름을 알아내는 방법을 알고 싶습니다. > > 감기 ...
구창민
•
1999.06.11 20:54
황익순 께서 말씀하시기를... > 제발 답변좀 해주세요... > > 스트링그리드에서 지원하는건 연속적인 ...
이상석
•
1999.06.11 02:12
1
COMMENTS
/
0
LIKES
무슨 내용의 에라인지....
공대규
•
1999.06.11 02:50
델파이로 프로그래밍하다 보면 맨날 만나는 에러 메시지입니다. 한마디로 메모리 접근시 문제가 생기면 대...
이창석
•
1999.03.08 00:11
3
COMMENTS
/
0
LIKES
dbchart
안치봉
•
1999.03.10 03:12
이창석 wrote: > 반갑습니다. > 아침에 봄비가 조금 내리더니, 지금은 그쳤네요. > 몇일째 풀리지 않는...
이창석
•
1999.03.12 00:33
안치봉 wrote: > 이창석 wrote: > > 반갑습니다. > > 아침에 봄비가 조금 내리더니, 지금은 그쳤네요. ...
신인재
•
1999.03.12 04:33
> procedure TForm1.Button1Click(Sender: TObject); > var > i,y:integer; > begin > if opendialo...
박성훈
•
1999.06.11 02:00
1
COMMENTS
/
0
LIKES
dbgrid에서 필드에 따라 글자색을 변경...
백승환
•
1999.06.11 06:18
박성훈 께서 말씀하시기를... > 식당주문관련 프로그램을 만들고 있는데요. > > 판매테이블:판매코드, ...
이대선
•
1999.03.11 06:47
1
COMMENTS
/
0
LIKES
키보드 후킹을 하고 난후 다른 문자를 보내고 싶어요.
안치봉
•
1999.03.12 03:47
이대선 wrote: > 후킹 콤퍼넌트 진짜 잘 만드셨고 요긴하게 잘 쓰고 있습니다. > > 현재 ...
박성훈
•
1999.06.11 01:45
2
COMMENTS
/
0
LIKES
dbgrid에서 한줄 선택...
백승환
•
1999.06.11 06:24
박성훈 께서 말씀하시기를... > 레이블을 클릭하면 dbgrid에 한줄만 선택되도록 하고 싶은데요. > rowsel...
[재질문]dbgrid에서
•
1999.06.13 21:32
백승환 께서 말씀하시기를... > 박성훈 께서 말씀하시기를... > > 레이블을 클릭하면 dbgrid에 한줄만 선...
장태남
1999.06.10 23:43
0
COMMENTS
/
0
LIKES
tclientdataset 에서 새로운 칼럼의 추가시
원영준
•
1999.03.09 22:20
3
COMMENTS
/
0
LIKES
DLL에 들어있는 form을 child로 띄우는 방법좀
안치봉
•
1999.03.10 04:15
소스는 잘~ 받았습니다. 소스를 보니 약간은 잘못(?)된 부분이 있습니다(아래는 제가 수정한 겁니다). ...
신인재
•
1999.03.10 04:08
원영준 wrote: > 안녕 하십니까 ! > 델파이 초보자로써 이런 곳을 보니 매우 기쁩니다. > 당분간은 ROM...
안치봉
•
1999.03.10 02:11
원영준 wrote: > 안녕 하십니까 ! > 델파이 초보자로써 이런 곳을 보니 매우 기쁩니다. > 당분간은 ROM...
최선기
•
1999.06.10 23:03
2
COMMENTS
/
0
LIKES
[요청]Query컴포넌트의 params 속성의 의미 좀
백승환
•
1999.06.11 08:28
최선기 께서 말씀하시기를... > 안녕하세요.. 델파이를 배우고 있는 회사원입니다. > 제가 물어볼 것은 ...
박성훈
•
1999.06.11 01:36
최선기 께서 말씀하시기를... > 안녕하세요.. 델파이를 배우고 있는 회사원입니다. > 제가 물어볼 것은 ...
원영준
•
1999.03.09 22:20
3
COMMENTS
/
0
LIKES
DLL에 들어있는 form을 child로 띄우는 방법좀
안치봉
•
1999.03.10 04:15
소스는 잘~ 받았습니다. 소스를 보니 약간은 잘못(?)된 부분이 있습니다(아래는 제가 수정한 겁니다). ...
신인재
•
1999.03.10 04:08
원영준 wrote: > 안녕 하십니까 ! > 델파이 초보자로써 이런 곳을 보니 매우 기쁩니다. > 당분간은 ROM...
안치봉
•
1999.03.10 02:11
원영준 wrote: > 안녕 하십니까 ! > 델파이 초보자로써 이런 곳을 보니 매우 기쁩니다. > 당분간은 ROM...
수빈
•
1999.06.10 22:58
1
COMMENTS
/
0
LIKES
ActiveForm 의 OCX Down에대해
공대규
•
1999.06.11 02:26
cayp.inf 파일의 내용을 한 번 올려 주실래요? 제가 한 번 볼께요... 수빈 께서 말씀하시기를... > Ac...
이창석
•
1999.03.08 00:11
5
COMMENTS
/
0
LIKES
dbchart
왕초
•
1999.06.10 22:30
DLL를 디버깅하려고 합니다.. DLL 프로젝트를 어플리케이션에서 포함하여 breakpoint를 걸어서 하려고 ...
안치봉
•
1999.03.10 03:12
이창석 wrote: > 반갑습니다. > 아침에 봄비가 조금 내리더니, 지금은 그쳤네요. > 몇일째 풀리지 않는...
글쎄요
•
1999.06.10 23:34
왕초 께서 말씀하시기를... > DLL를 디버깅하려고 합니다.. > DLL 프로젝트를 어플리케이션에서 포함하여...
이창석
•
1999.03.12 00:33
안치봉 wrote: > 이창석 wrote: > > 반갑습니다. > > 아침에 봄비가 조금 내리더니, 지금은 그쳤네요. ...
신인재
•
1999.03.12 04:33
> procedure TForm1.Button1Click(Sender: TObject); > var > i,y:integer; > begin > if opendialo...
김동희
1999.06.10 21:56
0
COMMENTS
/
0
LIKES
2184번을 읽어 주세요.
chobo
1999.06.10 21:09
0
COMMENTS
/
0
LIKES
PopUpMenu의 왼쪽마우스 조작
기련이
•
1999.03.05 01:12
4
COMMENTS
/
0
LIKES
POP3 도와주세요
안치봉
•
1999.03.05 23:06
기련이 wrote: > 저도 프로그램을 테스트 해 보았는데 문제가 생겼어요. > body의 내용이 정상적으로 나...
기련이
•
1999.03.06 02:33
도와주셔서 정말 감사합니다. 제가 메일을 보낸 것은 OUTLOOK EXPRESS이고, 메일서버는 MS EXCHANGE서...
안치봉
•
1999.03.06 04:46
기련이 wrote: > 도와주셔서 정말 감사합니다. > > 제가 메일을 보낸 것은 OUTLOOK EXPRESS이고, > ...
기련이
•
1999.03.10 02:30
덕분에 문제를 해결하였습니다. Var InStr, OutStr: TStringStream; Begin InStr := TStringStr...
franco97
•
1999.06.10 20:18
1
COMMENTS
/
0
LIKES
RichEdit에서 Ctrl+Enter를 Enter처리없이...
구창민
•
1999.06.10 20:45
franco97 께서 말씀하시기를... > RichEdit에서 입력을 하다가 Ctrl+Enter를 입력하면 아래칸으로 이동을 ...
powermac
1999.06.10 19:31
0
COMMENTS
/
0
LIKES
Delphi 실무지도 외부강사 초빙(3개월)
한
1999/03/12 03:17
Views
519
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
스트링그리드에서 지원하는건 연속적인 데이타에 대해서만 다중선택(Multi Selection)이 가능 하더군요...
불행이도 저는 불연속적인 데이타에 대해서 다중선택해야 됩니다... 흑흑흑..
도와주세요...
고수님들 방법좀 가르쳐주세요... 부탁합니다...